更改数组中的项索引

时间:2014-07-04 07:03:33

标签: javascript createjs sprite-sheet

我目前有一个图像切成矩形,然后放在另一个图像上,以便我可以在后面显示图像(图1)。我目前的形状从左到右,从上到下都有动画效果(图2)。我希望图像以随机方式制作动画(图3)。最初我创建了一个位置数组,我拖拽了其中创建了我想要的效果的值,但这显然也改变了图像切片。所以现在我正在创建一个索引数组并对值进行混洗。我想将切片的图像索引与混洗索引数组中的新值交换。拼接没有达到预期的效果。

enter image description here

 for(i=0;i<100;i++){

    var _s = new createjs.Sprite(this._ss);
        _s.gotoAndStop(i);

    this._container.addChild(_s);

    if((i % 10)===0){
        _ypos += 21;
        _xpos = 34;
    };
    _s.x = _xpos;
    _s.y = _ypos;
    _xpos += 34;

    this._indexArray.push(i);
    this._shapeArr.push(_s);
}

this.shuffleArray(this._indexArray);

for(j=0;j<100;j++){

    this._shapeArr[j]//CHANGE INDEX HERE
}

1 个答案:

答案 0 :(得分:0)

对于其他试图做类似事情的人来说,第二个for循环中的修改后的代码。我找到了这个链接,帮助我解决了这个问题,所以检查链接,如果你觉得它有用,那就给这个家伙一个+1

Move an array element from one array position to another

 for(j=0;j<100;j++){

    //CHANGED CHILD INDEX HERE
    this._shapeArr.splice(this._indexArray[j],0,this._shapeArr.splice(j,1)[0]);
 }