가장 좋은 아이디어는 타일의 명확한 모델을 유지하고 렌더링을 위해 별도의보기 레이어를 만드는 것입니다.
예 :
interface Tile {
function get typeID():String;
}
class Water implements Tile {
public function get typeID():String {
return TYPE;
}
static public const TYPE:String = "water";
}
class Sand implements Tile {
public function get typeID():String {
return TYPE;
}
static public const TYPE:String = "sand";
}
지금지도는 다음과 같습니다
(이 하드,하지만 당신은 단지뿐만 아니라 그것을 생성 할 수) :
var map:Array = [
[new Water, new Sand, new Sand, new Water],
[new Water, new Sand, new Sand, new Water],
[new Water, new Sand, new Sand, new Water],
[new Sand, new Sand, new Water, new Water]
]
을 그리고는 다음과 같이 표현 될 수있다 :
var colors:Object = { water: 0x0000FF, sand: 0xFFFF00 };
const size:Number = 20;
for (var y:int = 0; y < map.length; y++) {
var row:Array = map[y];
for (var x:int = 0; x < row.length; x++) {
beginFill(colors[Tile(row[x]).typeID]);
drawRect(x * size, y * size, size, size);
}
}
물론 이것은 매우 간단하지만 아이디어를 제공해야합니다.
그리고 어떤 타일이 어떤 위치에 있는지 확인하려면지도를 간단히 살펴볼 수 있습니다.