1

我有一些代码句子

CCSequence* seq2 = CCSequence::create(CCCallFunc::create(_clawNode, callfunc_selector(ClawNode::swing))
                                              , CCDelayTime::create(1.6)
                                              , CCCallFunc::create(_clawNode, callfunc_selector(ClawNode::dig))
                                              , CCDelayTime::create(0.1)
                                              , NULL
                                              );
        _clawNode->runAction(CCRepeatForever::create(seq2));

问题是 CCRepeatForever 不会按顺序重复动作,它只会重复 1 次。任何人都知道如何解决这个问题?

任何帮助,将不胜感激!

4

1 回答 1

2

选择器目标对象CCCallFunc应该CCLayer是添加节点的位置。因此,您应该使用 like :

CCSequence* seq2 = CCSequence::create(CCCallFunc::create(this, callfunc_selector(ClawNode::swing))
                                              , CCDelayTime::create(1.6)
                                              , CCCallFunc::create(this, callfunc_selector(ClawNode::dig))
                                              , CCDelayTime::create(0.1)
                                              , NULL
                                              );
        _clawNode->runAction(CCRepeatForever::create(seq2));

除此之外,您的代码很好。如果您在回调函数中停止节点的操作,您可以检查是否在其他任何地方。

于 2014-05-08T05:11:03.367 回答