如题所述:
这样只能执行最后一个元素的动画 ,求解惑
addGriddleAction:function(){
var size = cc.Director.getInstance().getWinSize();
var positionTem = cc.p(size.width / 2,size.height / 2);
var griddleAction = cc.MoveTo.create(4,positionTem);
this.GriddleLis[0].runAction(griddleAction);
this.GriddleLis[1].runAction(griddleAction);
this.GriddleLis[2].runAction(griddleAction);
this.GriddleLis[3].runAction(griddleAction);
this.GriddleLis[4].runAction(griddleAction);
this.GriddleLis[5].runAction(griddleAction);
},
griddleAction不能复用。要为每个runAction都创建一个griddleAction。示例代码(手打,未测试):
for (var i = 0; i <= 5; i++) {
var griddleAction = cc.MoveTo.create(4, positionTem);
this.GriddleLis[i].runAction(griddleAction);
}
谢谢 ,确实是这个原因 , 麻烦再请问一下,如果加了两个Action, 只改变X轴,为何Y轴也跟着变呢,是有其他原因么?哦,Y轴确实没变,但是元素跟着往下移动了,是何原因呢?
代码如下: 可以了,原来Spawn 不行, 必须是有序的执行才可以 Sequence
addGriddleAction:function(){
var size = cc.Director.getInstance().getWinSize();
for(var i = 0;i < 6; i ++){
var temp = 10;
var x = size.width /2 - 25 + temp * i;
var customY = size.height /2 ;
console.log(customY);
var positionTem = cc.p(x ,customY);
var a1 = cc.MoveTo.create(3,positionTem);
console.log(customY);
x -= 50;
var a2 = cc.MoveTo.create(3,cc.p(x ,customY));
this.GriddleLis[i].runAction(cc.Spawn.create(a1,a2));
}