Skip to content

Instantly share code, notes, and snippets.

@prettymuchbryce
Last active December 10, 2015 18:59
Show Gist options
  • Save prettymuchbryce/4478742 to your computer and use it in GitHub Desktop.
Save prettymuchbryce/4478742 to your computer and use it in GitHub Desktop.
public function showMap(playerX:uint,playerY:uint,worldProxy:WorldProxy):void {
if (!_isMapShowing) {
if (!_map) {
_map = new Sprite();
_playerBlip = new Sprite();
addChild(_map);
addChild(_playerBlip);
var renderSize:uint = WorldProxy.MAX_WORLD_SIZE + 5;
for (var y:uint = 0; y < Global.STAGE_HEIGHT; y++) {
for (var x:uint = 0; x < Global.STAGE_WIDTH; x++) {
var tileX:uint = (ChunkFactory.CENTER_CHUNK_X*ChunkFactory.CHUNK_SIZE) + x*((renderSize * ChunkFactory.CHUNK_SIZE)/Global.STAGE_WIDTH) - (renderSize * ChunkFactory.CHUNK_SIZE)/2;
var tileY:uint = (ChunkFactory.CENTER_CHUNK_Y*ChunkFactory.CHUNK_SIZE) + y*((renderSize * ChunkFactory.CHUNK_SIZE)/Global.STAGE_HEIGHT) - (renderSize * ChunkFactory.CHUNK_SIZE)/2;
if (worldProxy.getTile(tileX,tileY)<=6 || worldProxy.getTile(tileX,tileY)>=15) {
_map.graphics.beginFill(0x00FF00);
} else {
_map.graphics.beginFill(0x0000FF);
}
_map.graphics.drawRect(x,y,1,1);
_map.graphics.endFill();
}
}
} else {
_playerBlip.visible = true;
_map.visible = true;
}
_playerBlip.graphics.clear();
_playerBlip.graphics.beginFill(0xFFFFFF);
var ratioX:Number = Global.STAGE_WIDTH/(renderSize * ChunkFactory.CHUNK_SIZE);
var ratioY:Number = Global.STAGE_HEIGHT/(renderSize * ChunkFactory.CHUNK_SIZE);
playerX = playerX - ChunkFactory.CENTER_CHUNK_X*ChunkFactory.CHUNK_SIZE + (renderSize/2) * ChunkFactory.CHUNK_SIZE;
playerY = playerY - ChunkFactory.CENTER_CHUNK_Y*ChunkFactory.CHUNK_SIZE + (renderSize/2) * ChunkFactory.CHUNK_SIZE;
playerX = playerX*ratioX;
playerY = playerY*ratioY;
_playerBlip.graphics.drawCircle(playerX,playerY,5);
_isMapShowing = true;
} else {
_map.visible = false;
_playerBlip.visible = false;
_isMapShowing = false;
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment