cocos代码研究(11)ActionManager类学习笔记

理论部分

ActionManager是一个单例类,管理所有动作。 通常你不需要直接使用这个类。大多情况下,你将使用Node的接口,它提供了更友好的封装 但也有一些情况下,你可能需要使用这个单例。 示例:

  • 当你想要运行一个动作,但目标不是节点类型。
  • 当你想要暂停/恢复动作。

代码部分

void addAction (Action *action, Node *target, bool paused)
增加一个动作,同时还需要提供动作的目标对象,目标对象是否暂停作为参数。当目标状态paused为true,动作将不会被执行。

实例:

    auto director = Director::getInstance();
    director->getActionManager()->addAction(action, grossini, true);

void removeAllActions ()
删除所有目标对象的所有动作。

void removeAllActionsFromTarget (Node *target)
从一个特定的目标删除所有动作。 属于该目标的所有的动作将被删除。

void removeAction (Action *action)
删除一个动作。

void removeActionByTag (int tag, Node *target)
删除目标对象下特定标签标记的一个动作,将删除首个匹配到的动作。

void removeAllActionsByTag (int tag, Node *target)
删除目标对象下特定标签标记的所有动作。

void removeActionsByFlags (unsigned int flags, Node *target)
删除目标对象下特定标记组动作

Action * getActionByTag (int tag, const Node *target) const
通过目标对象和标签获取一个动作。

ssize_t getNumberOfRunningActionsInTarget (const Node *target) const
返回指定目标下所有正在运行的动作数量。 组合动作被算作一个动作。例子:

ssize_t numberOfRunningActionsInTarget (Node *target) const
void pauseTarget (Node *target)
暂停目标对象:所有正在运行的动作和新添加的动作都将会暂停。

void resumeTarget (Node *target)
让目标对象恢复运行。在执行序列中所有被暂停的动作将重新恢复运行。

实例:

    auto director = Director::getInstance();
    director->getActionManager()->resumeTarget(node);

Vector< Node * > pauseAllRunningActions ()
暂停所有正在运行的动作,返回一个动作被暂停的目标对象列表。

void resumeTargets (const Vector< Node * > &targetsToResume)
让一组目标对象恢复运行。

时间: 2024-10-26 01:08:23

cocos代码研究(11)ActionManager类学习笔记的相关文章

Cocos Studio1.5.0.1开发学习笔记(一)

听说Cocos Studio很久了,主要是因为骨骼动画.目前看来Cocos2d-x播放动画的方式只有2种: 第一种:是播放序列帧动画,即将动画的每一帧都加载进缓存里,需要播放时再使用Animation类来播放,这种方法简单暴力,应对一些细节要求低的动画场景的时候,这么干无伤大雅.但是当动画帧数稍高的时候就会需要大量的图片,消耗资源很大. 第二种:是由Cocos2d-x提供的Action类来播放动画,这种动画是在帧循环中靠调整每次渲染的坐标来打到动画效果,由于帧循环是1/60秒刷新一次,会让这样播

Apache commons lang工具类学习笔记(2)--StringUtils

StringUtils工具类具有对String具有简单而强大的处理能力,从检查空串到分割字符串,到生成格式化的字符串,使用都很方便简洁,能减少很多代码量; 详细的使用方法可以参考下面的例子或者官方的API(http://commons.apache.org/proper/commons-lang/javadocs/api-release/org/apache/commons/lang3/StringUtils.html#isAlpha(java.lang.CharSequence)) packa

linux1.1-1.5节学习笔记

1.1-1.5节学习笔记 1.1学习之初1.2约定 系统CentOS 7.3系统虚拟软件 VMware workstation 10终端 puTTY + Xshell 学习之中工具或网站印象笔记 app.yinxiang.com51CTO博客 blog.51cto.comkeepass keepass.info百度网盘 pan.baidu.com 各软件版本会变动r.aminglinux.com课程用到的代码及命令centos7.aminglinux.com 1.3认识Linux 什么是Linu

DirectX 11游戏编程学习笔记之7: 第6章Drawing in Direct3D(在Direct3D中绘制)(重点回顾+勘误)

        本文由哈利_蜘蛛侠原创,转载请注明出处!有问题欢迎联系[email protected]         注:我给的电子版是700多页,而实体书是800多页,所以我在提到相关概念的时候,会使用章节号而非页码.同样的情况适合于"龙书"第二版. 上一期的地址: DX 11游戏编程学习笔记之6 这一章应该是本书最长的一章了,可能也是最难的一章,所以大家一定要好好消化,仔细学习!这一章大致相当于"龙书"第二版的第7章和第8章,还添加了一些别的东西. 由于这一

代码管理工具 --- git的学习笔记四《重新整理git(1)》

1.创建版本库 mkdir  创建目录 cd  地址,到该地址下 pwd 显示当前目录 1.创建目录 $ mkdir startGit $ cd startGit $ pwd 显示当前目录 或者cd到桌面,然后再创建目录 2.初始化版本库 $ git init 初始化仓库 提示信息:Initialized empty Git repository in /Users/xingzai/Desktop/startGit/.git/ 建立一个空的git仓库在/Users/xingzai/Desktop

Java Object类学习笔记

看下Api文档的一些说明 public class Object Class Object is the root of the class hierarchy. Every class has Object as a superclass. All objects, including arrays, implement the methods of this class. Since: JDK1.0 从JDK1.0就已经存在的元老类,类结构的根,所有类的父类,所有类都实现了这个类的方法,包含

Collection类学习笔记

binarySearch原理: public static index halfSearch(List<String> list, String key) { int max,min,mid; max = list.size()-1; min = 0; while(min<=max) { mid = (max+min) >>1; String str = list.get(mid); int num = str.compareTo(key); if(num > 0) m

Arrays类学习笔记

Arrays.asList(arr); 该方法可以把数组变成List集合. String[] arr = {"abc","cc"}; List<String> list = Arrays.asList(arr); /* 如果数组中的元素都是对象,那么变成集合的时候,数组中的元素就直接转换成集合中的元素. 如果数组中的元素都是基本数据类型,那么会将该数组作为集合中的元素存在. */ Arrays.toArray(new String[]); 1. 指定类型

cocos代码研究(8)持续动作子类学习笔记

理论部分 时间间隔动作(ActionInterval)是一个在一段时间内执行的动作. 它有一个开始时间和完成时间.完成时间等于起始时间加上持续时间. ActionInterval的子类与位置有关的动作类:JumpBy,JumpTo,MoveBy,MoveTo,BezierBy,BezierTo,CardinalSplineBy,CardinalSplineTo与缩放有关的动作类:ScaleTo,ScaleBy,与旋转有关的动作类:RotateBy, RotateTo与倾斜有关的动作类SkewTo