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



我尝试用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中,它将不会重复

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

最新更新