2013-10-22 139 views
0

我工作了一個簡單的瓷磚後系統停止運行,使用負載createjs.LoadQueue一個tilesheet。瓷磚本身似乎工作正常,加載正確。爲了保持測試簡單,它建立一個快捷瓦這樣的:EaselJS只有三個迭代嵌套3×3的for循環

var baseTile = new Array(); 
baseTile[0] = 0; 
baseTile[1] = 1; 
baseTile[2] = 2; 
baseTile[4] = 4; 
baseTile[5] = 5; 
baseTile[6] = 6; 
baseTile[7] = 7; 
baseTile[8] = 8; 
baseTile[9] = 9; 

var i = 0; 

for (var y = 0; y < 3; y++) { 
    for (var x = 0; x < 3; x++) { 
     // create a new Bitmap for each cell 
     var sprite = new createjs.Sprite(tilesheet); 
     sprite.gotoAndStop(baseTile[i]); 

     sprite.x = x * 40; 
     sprite.y = y * 40; 

     // add bitmap to stage 
     stage.addChild(sprite); 
     i++; 
     console.log(i); 
    } 
} 

爲了建設結構,它遍歷瓷磚的數組。 但是,它只創建了前三個切片,然後失敗,就像看不到「var sprite」一樣。這是它產生的錯誤: 未捕獲TypeError:無法讀取屬性'undefined'爲null easeljs-0.7.0.min.js:12

我正在使用EaselJS 0.7.0和Preloadjs 0.4.0。有沒有人遇到過這個?

回答

1

你錯過了第四baseTile ...

var baseTile = new Array(); 
baseTile[0] = 0; 
baseTile[1] = 1; 
baseTile[2] = 2; 
baseTile[3] = 3; //You forgot this one 
baseTile[4] = 4; 
baseTile[5] = 5; 
baseTile[6] = 6; 
baseTile[7] = 7; 
baseTile[8] = 8; 
baseTile[9] = 9; 
+0

衛生署!難怪我沒有發現這一點。我正在查看代碼,而不是數組。這就是我在凌晨3點製作原稿時所得到的結果。 – Merlin