我尝试使用cc.scaleTo()为三个圆圈制作动画,直到我合并cc.delayTime()和cc.repeatForever()时,它才能正常工作。在hello worlds app中我添加了:
/////////////////////////////
// 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)
)
)
);
没有消息显示。
那可能是什么?
答案 0 :(得分:1)
你不能把cc.RepeatForever放入cc.Sequence,它不会重复
只能将有限时间动作按顺序排列