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