1、如果一個精靈同時執行多個動作action,這些動作是並行的
2、停止目前動作
node->stopAllActions();
node會停止目前正在執行的動作,但是不會影響到這句之後執行的action
3、延遲時間執行動作
1)、加入動作管理器並停止執行動作
Director::getInstance()->getActionManager()->addAction(action, grossini, true);
action:動作
grossini:精靈
true:是不是暫停
2)推延時間
方法一:scheduleOnce,設置delay時間
方法二:this->runAction(action);執行DelayTime動作
方法三:schedule,在schedule裏面停止計時器,與方法一同
3)恢復執行動作
Director::getInstance()->getActionManager()->resumeTarget(node);
恢復node節點的動作
PS:也可以直接讓node執行action序列,先延時在動作執行完的回調函數中執行需要延時的動作
4、停止指定動作
node->stopActionByTag(22);
通過給action設置tag或者flags可以停止某個動作,如果不同的action有同一個tag,則可以通過這個方法停止多個動作
5、節點停止所有動作
暫停:
Director::getInstance()->getActionManager()->pauseTarget(node);
停止節點node的所有動作,包括這句代碼之前執行的還是這句代碼之後執行的
node->runAction(ScaleBy::create(2, 2));
Director::getInstance()->getActionManager()->pauseTarget(node);
node->runAction(RotateBy::create(2, 360));
這樣的話,節點並不會執行放大的動作,也不會執行旋轉的動作
恢復:Director::getInstance()->getActionManager()->resumeTarget(node);