只有嵌套3x3 for循环的三次迭代后,EaselJS才会停止运行

时间:2013-10-22 09:15:08

标签: javascript sprite easeljs createjs

我正在使用装有createjs.LoadQueue的tileheet制作一个简单的tile系统。瓷砖本身似乎工作正常并正确加载。为了简化测试,它构建了一个快速的瓷砖:

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);
    }
}

为了构建结构,它遍历一组tile。 但是,它只会创建第一个前三个图块,然后失败,就好像它再也看不到“var sprite”了。这是它产生的错误: 未捕获的TypeError:无法读取属性'undefined'的null easeljs-0.7.0.min.js:12

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

1 个答案:

答案 0 :(得分:1)

你错过了第四垒垒......

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;