Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cocos2d x cocos2d js:cc.delayTime()和cc.repeatForever()don';在cc.sequence()中不能一起工作_Cocos2d X_Cocos2d Js - Fatal编程技术网

Cocos2d x cocos2d js:cc.delayTime()和cc.repeatForever()don';在cc.sequence()中不能一起工作

Cocos2d x cocos2d js:cc.delayTime()和cc.repeatForever()don';在cc.sequence()中不能一起工作,cocos2d-x,cocos2d-js,Cocos2d X,Cocos2d Js,我尝试用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

我尝试用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;
当我删除:cc.delayTime()或cc.repeatForever()时,效果很好

contacts[i].runAction(
       cc.sequence(
           cc.repeatForever(
                cc.sequence(
                    cc.scaleTo(3, 3),
                    cc.scaleTo(0.01, 0)
                )
            )
        )
);

并且没有消息出现


那会是什么?

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


只有有限时间的动作才能按顺序进行

真的很奇怪。。你有没有在官方的问题跟踪程序中输入一份bud报告?你是对的,只有当列表中没有其他行动时,它才会起作用。但是你有一个解释,为什么只允许有限时间的动作?@Michael很明显,如果一个动作的顺序是无限的,那么下面的动作永远不会运行。如果你检查C++代码,CcScess中的动作*将动态地转换为CcFrimeTeMeTyc*AuangFux1029,下面的动作永远不会运行,好吗?但之前的操作也从未运行过。以上面这个例子为例,它确实会延迟时间,然后是一个重复序列。。。但是重复序列也从未运行过。redux,你注意到我的评论了吗?顺序中的操作将动态强制转换为FiniteTimeAction*,如果不能,它肯定不会运行
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)
            )
        )
);