2013-03-12 131 views
2

我目前正在使用一組加載客棧到數組的圖像來繪製一個tilemap。從一個數組中繪製圖像

我定義瓦片作爲這樣的對象:

function tile(gfx){ 
this.tile = gfx; 

this.drawSelf = function(x,y) 
this.tile.x = x; 
this.tile.y = y; 
} 

然後我填充的陣列具有若干瓦片的對象,其通過調試器顯示正確。

現在,當我開始繪製了使用此代碼圖像:

for (var x = 0; x < mapArray.length; x++){ 
xN = 183 + (50*x); 
mapArray[x].drawSelf(xN, 134); 
gameStage.addChild(mapArray[x].tile); 
mapArray[x].tile.visible = true; 
} 

的問題是,所有的「對象」在陣列中recive相同的x和y COORDS。所以我懷疑數組中的每一個對象都會相互指責。

我想要做的是創建一個20x10瓷磚地圖。而且我需要能夠將每個圖塊稱爲單個對象。

如果我沒有道理,大聲說出來。

回答

0

如果您創建的所有這樣的地磚:

var gfx = new ... 
for (...) { 
    mapArray[x].tile = new tile(gfx); 
} 

然後所有的人都共享同一個gfx對象。

你應該改變你的初始化是這樣的:

for (...) { 
    var gfx = new ... 
    mapArray[x].tile = new tile(gfx); 
} 
+0

感謝隊友,得到它的工作:) – 2013-03-13 17:04:04