Cocos2d-x-----------------------------------------------Acti
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); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |