我有一些代码句子
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不按顺序重复动作,它只做一次。任何人都知道如何解决这个问题?
任何帮助将不胜感激!
答案 0 :(得分:2)
CCCallFunc
中的选择器目标对象应该是CCLayer
,其中添加了您的节点。因此你应该使用:
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));
除此之外,您的代码还可以。如果要在回调函数中停止节点的操作,可以检查是否在其他任何位置。