Cocos2d-x-----------------------------------------------ActionManager

Cocos2d-x-----------------------------------------------ActionManager,第1张

概述1、如果一个精灵同时执行多个动作action,这些动作是并行的 2、停止目前动作 node->stopAllActions(); node会停止目前正在执行的动作,但是不会影响到这句之后执行的action 3、延迟时间执行动作 1)、加入动作管理器并停止执行动作 Director::getInstance()->getActionManager()->addAction(action, gross

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);

总结

以上是内存溢出为你收集整理的Cocos2d-x-----------------------------------------------ActionManager全部内容,希望文章能够帮你解决Cocos2d-x-----------------------------------------------ActionManager所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1073061.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-26
下一篇 2022-05-26

发表评论

登录后才能评论

评论列表(0条)

保存