0

我正在开发一个简单的图块系统,使用加载了 createjs.LoadQueue 的图块表。tilesheet 本身似乎工作正常并且加载正确。为了保持测试简单,它构建了一个这样的快速图块:

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”一样。这是它产生的错误: Uncaught TypeError: Cannot read property 'undefined' of null easeljs-0.7.0.min.js:12

我正在使用 EaselJS 0.7.0 和 Preloadjs 0.4.0。有没有人遇到过这个?

4

1 回答 1

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;
于 2013-10-22T10:05:04.657 回答