cocos2d-js:cc.delayTime()和cc.repeatForever()不能在cc.sequence()中一起工作

时间:2014-08-10 11:16:11

标签: cocos2d-x cocos2d-js

我尝试使用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)
            )
        )
);

没有消息显示。

那可能是什么?

1 个答案:

答案 0 :(得分:1)

你不能把cc.RepeatForever放入cc.Sequence,它不会重复

只能将有限时间动作按顺序排列