如何停止Cococs2d-x中的上一个动作 我的精灵在init方法中有连续的动画 最近我发起了移动行动 我想只停止那个移动动作 重复动画仍然只在那里。
答案 0 :(得分:0)
我们可以使用setTag方法设置Tag。如果您不希望该操作使用CCNode方法“removeActionByTag”
删除该操作答案 1 :(得分:0)
你有点迟到了。
另一种解决方案是在致电stopAction(currentAction)
之前致电runAction(newAction)
。这使您可以在开始currentActionSave
之前停止newAction
。您需要以某种方式存储currentAction
,可能是成员var,以便稍后调用stopAction(currentAction)
。
下面是代码示例:
<强> Dog.h 强>
#include "cocos2d.h"
class Dog : public cocos2d::Sprite
{
public:
....
private:
....
bool OnTouchEnded(cocos2d::Touch* touch, cocos2d::Event* /*event*/)
cocos2d::Action* m_currentAction = nullptr;
};
<强> Dog.cpp 强>
#include "Dog.h"
....
bool Dog::OnTouchEnded(cocos2d::Touch* touch, cocos2d::Event* /*event*/)
{
using namespace cocos2d;
....
MoveTo* moveTo = MoveTo::create(time, pos);
if (m_currentAction)
{
stopAction(m_currentAction);
}
m_currentAction = runAction(moveTo);
return true;
}
希望这有助于某人。