我尝试用cc.scaleTo()动画三个圆圈,直到我结合cc.delayTime()和cc.repeatForever()时,它才正常工作。在hello worlds应用程序中,我添加了:
/////////////////////////////
// 3. add your codes below...
var contacts = [];
for( var i=0 ; i<3 ; i++ ) {
contacts[i] = cc.DrawNode.create();
contacts[i].retain();
contacts[i].clear();
contacts[i].setScale(1);
contacts[i].drawCircle(cc.p(0,0), 30, 0, 100, false, 2, cc.color(255,0,0,255));
contacts[i].setPosition(size.width/2, size.height/2);
this.addChild(contacts[i]);
contacts[i].runAction(
cc.sequence(
cc.delayTime(i),
cc.repeatForever(
cc.sequence(
cc.scaleTo(3, 3),
cc.scaleTo(0.01, 0)
)
)
)
);
}
return true;
这是不工作的,并显示控制台消息:
[Action update]. override me
当我删除:cc.delayTime()或cc.repeatForever()它工作正常。
contacts[i].runAction(
cc.sequence(
cc.repeatForever(
cc.sequence(
cc.scaleTo(3, 3),
cc.scaleTo(0.01, 0)
)
)
)
);
或
contacts[i].runAction(
cc.sequence(
cc.delayTime(i),
cc.sequence(
cc.scaleTo(3, 3),
cc.scaleTo(0.01, 0)
)
)
);
没有消息显示。
会是什么呢?
您不能将cc.RepeatForever放入cc.Sequence中,它将不会重复
只有有限时间的动作才能按顺序排列