1. /**
  2. * DelayTime延迟
  3. * @param d Duration 延迟时间
  4. */
  5. auto delayTime = DelayTime::create();
  6. sprite->runAction(delayTime);
  7.  
  8. /**
  9. MoveTo 移动
  10. @param duration 时长
  11. @param position 移动到的位置
  12. */
  13. auto *moveto = MoveTo::create(1.2f, Vec2(, ));
  14. sprite->runAction(moveto);
  15. /**
  16. MoveBy 移动的距离
  17. @param duration 时长
  18. @param position 移动的距离, 从起始位置移动(100, 200)的位移
  19. */
  20. auto *moveBy = MoveBy::create(1.2f, Vec2(, ));
  21. sprite->runAction(moveBy);
  22.  
  23. /**
  24. * ScaleTo x, y, z轴按比例缩放 对应于ScaleBy
  25. * @param duration 动作时长
  26. * @param x比例
  27. * @param y比例
  28. * @param z比例
  29. */
  30. auto *scaleTo = ScaleTo::create(1.2f, 2.0, 0.5, 2.0);
  31. sprite->runAction(scaleTo);
  32.  
  33. /**
  34. RotateTo旋转, 如果是3D, 需要参数Vec3, 表示x, y, z方向旋转角度 对应于RotateBy
  35. @param duration 时长
  36. @param dstAngleX x旋转角度
  37. @param dstAngleY y旋转角度
  38. */
  39. auto *rotateTo = RotateTo::create(3.0, , );
  40. sprite->runAction(rotateTo);
  41.  
  42. /**
  43. SkewTo 倾斜一定角度 对应于SkewBy
  44. @param t 时长
  45. @param sx x角度
  46. @param sy y角度
  47. */
  48. auto skewTo = SkewTo::create(3.0, , -);
  49. sprite->runAction(skewTo);
  50.  
  51. /**
  52. * JumpTo创建跳跃动作 对应于JumpBy
  53. * @param duration 时长.
  54. * @param position 目标位置.
  55. * @param height 每次跳跃的高度.
  56. * @param jumps 跳跃次数.
  57. */
  58. auto jumpTo = JumpTo::create(3.0, Vec2(, ), , );
  59. sprite->runAction(jumpTo);
  60.  
  61. /**
  62. * BezierBy创建贝塞尔曲线动作 对应于BezierTo
  63. * @param t 时长
  64. * @param c 贝塞尔配置.
  65. */
  66. ccBezierConfig bezier;
  67. bezier.controlPoint_1 = Vec2(-, );
  68. bezier.controlPoint_2 = Vec2(, );
  69. bezier.endPosition = Vec2(, );
  70. auto *bezierBy = BezierBy::create(, bezier);
  71. sprite->runAction(bezierBy);
  72.  
  73. /**
  74. * FadeIn渐渐显示至255, (如果精灵本来就是255透明度, 没有效果) 对应于FadeOut渐渐消失 FadeTo(渐变到..)
  75. * @param duration 时长
  76. */
  77. auto fadeIn = FadeIn::create(3.0);
  78. sprite->runAction(fadeIn);
  79.  
  80. /**
  81. * TintTo填充颜色渐变 对应于TintBy
  82. * @param duration 时长
  83. * @param red r值 0 to 255.
  84. * @param green g值
  85. * @param blue b值
  86. */
  87. auto tintTo = TintTo::create(3.0, , , );
  88. sprite->runAction(tintTo);
  89.  
  90. /**
  91. * Blink闪烁
  92. * @param duration 时长
  93. * @param blinks 闪烁次数.
  94. */
  95. auto *blink = Blink::create(1.0f, );
  96. sprite->runAction(blink);
  97.  
  98. /**
  99. OrbitCamera创建一个球面坐标轨迹进行旋转的动作
  100. @param t 动画时长
  101. @param radius 起始半径
  102. @param deltaRadius 半径差
  103. @param angleZ 起始Z角度
  104. @param deltaAngleZ 旋转Z角度
  105. @param angleX 起始X角度
  106. @param deltaAngleX 旋转X角度
  107. */
  108. auto orbit = OrbitCamera::create(, , , , , , );
  109. auto reverse = orbit->reverse();
  110. sprite->runAction(reverse);
  111.  
  112. /**CardinalSplineTo创建一个样条曲线轨迹的动作 对应于CardinalSplineBy
  113. * @param duration 时长
  114. * @param points 控制点的坐标数组
  115. * @param tension 拟合度 其值= 0 路径最柔和
  116. */
  117. PointArray *array = PointArray::create();
  118. array->addControlPoint(Vec2(, ));
  119. array->addControlPoint(Vec2(, ));
  120. array->addControlPoint(Vec2(, ));
  121. array->addControlPoint(Vec2(, ));
  122. array->addControlPoint(Vec2(, ));
  123.  
  124. auto cardinalSplineTo = CardinalSplineTo::create(5.0, array, );
  125. sprite->runAction(cardinalSplineTo);
  126.  
  127. /** CatmullRomTo创建一个样条插值轨迹 对应于CatmullRomBy
  128. * @param 时长
  129. * @param points 控制点的坐标数组
  130. * @code
  131. */
  132. auto catmullRomTo = CatmullRomTo::create(3.0, array);
  133. sprite->runAction(catmullRomTo);
  134.  
  135. /**
  136. EaseBounceIn 创建有反弹效果的动作(开始时反弹) 对应于EaseBounceOut结束位置反弹, EaseBounceInOut
  137. @param action 目标动作
  138. */
  139. auto moveTo = MoveTo::create(4.0, Vec2(, ));
  140. auto easeBoundIn = EaseBounceIn::create(moveTo);
  141. sprite->runAction(easeBoundIn);
  142.  
  143. /**
  144. EaseBackOut 让目标动作赋予回力, 且以目标动作终点位置作为回力点 对应于EaseBackIn, EaseBackInOut
  145. @param action 目标动作
  146. */
  147. auto moveTo = MoveTo::create(4.0, Vec2(, ));
  148. auto easeBackOut = EaseBackOut::create(moveTo);
  149. sprite->runAction(easeBackOut);
  150.  
  151. /**
  152. EaseElasticIn 让目标动作赋予弹性, 且以目标动作起点位子赋予弹性 对应于EaseElasticOut, EaseElasticInOut
  153. @param action 目标动作
  154. @param period
  155. */
  156. auto moveTo = MoveTo::create(4.0, Vec2(, ));
  157. auto easeElasticIn = EaseElasticIn::create(moveTo, 0.5);
  158. sprite->runAction(easeElasticIn);
  159.  
  160. /**
  161. EaseExponentialIn 让目标动作缓慢开始 对应于EaseExponentialOut, EaseExponentialInOut
  162. @param action 目标动作
  163. */
  164. auto moveTo = MoveTo::create(4.0, Vec2(, ));
  165. auto easeExponentialIn = EaseExponentialIn::create(moveTo);
  166. sprite->runAction(easeExponentialIn);
  167.  
  168. /**
  169. EaseRateAction 给目标动作设置速率
  170. @param action 目标动作
  171. @param rate 速率
  172. **/
  173. auto moveTo = MoveTo::create(4.0, Vec2(, ));
  174. auto easeRateAction = EaseRateAction::create(moveTo, );
  175. sprite->runAction(easeRateAction);
  176.  
  177. /**
  178. EaseSineIn 动作由慢到快 对应于EaseSineOut, EaseSineInOut(动作由慢到快再快到慢)
  179. @param action
  180. */
  181. auto moveTo = MoveTo::create(4.0, Vec2(, ));
  182. auto easeSineIn = EaseSineIn::create(moveTo);
  183. sprite->runAction(easeSineIn);
  184.  
  185. /** Speed 倍速
  186. * @param action 目标动作
  187. * @param speed 几倍速
  188. */
  189. auto moveTo = MoveTo::create(4.0, Vec2(, ));
  190. auto speed = Speed::create(moveTo, );
  191. sprite->runAction(speed);
  192.  
  193. /* Spawn 组合多个动作
  194. * 参数:多个目标动作
  195. */
  196. auto spawn = Spawn::create(action1, action2, NULL);
  197. sprite->runAction(spawn);
  198.  
  199. /** Sequence 多个动作顺序执行
  200. * 参数:多个动作 如果要执行反方向动作, 所有动作都得支持反方向动作
  201. */
  202. auto moveBy = MoveBy::create(4.0, Vec2(, ));
  203. auto scale = ScaleBy::create(2.0, 0.7);
  204. auto sequence = Sequence::create(moveBy, scale, NULL);
  205. auto sequenceRever = Sequence::create(sequence, sequence->reverse(), NULL);
  206. sprite->runAction(sequence);
  207. sprite->runAction(sequenceRever);
  208.  
  209. /* Repeat 重复动作
  210. * @param action 要重复的动作, 可以是Sequence, Spawn类型的
  211. * @param times 重复次数
  212. */
  213. auto repeat = Repeat::create(sequence, );
  214. sprite->runAction(repeat);
  215.  
  216. /* RepeatForever 永久性重复动作
  217. * @param action 要重复的动作, 可以是Sequence, Spawn类型的
  218. */
  219. auto repeatForever = RepeatForever::create(sequence, );
  220. sprite->runAction(repeatForever);

//Follow 创建的时候需要设置要追随的精灵,然后让背景来执行follow  (有待继续研究)

/**

* 创建动作可以设置范围, 也可以不设置

* @param followedNode  追随的精灵

* @param rect  如果没有设置, 表示RECT::ZERO, 表示没有范围

*/

Size s = Director::getInstance()->getWinSize();

log("+++++++++s.width:%f, s.height:%f", s.width, s.height);

sprite->setPosition(Vec2(-200, s.height / 2));

auto move      = MoveBy::create(2, Vec2(s.width * 3, 0));

auto move_back = move->reverse();

auto seq       = Sequence::create(move, move_back, NULL);

auto rep       = RepeatForever::create(seq);

sprite->runAction(rep);

this->runAction(Follow::create(sprite, Rect(0, 0, s.width * 2 - 100, s.height)));

顺序执行

Action * action = Sequence::create(moveby, jumpby, rotateby, NULL);

同时执行

Action * action = Spawn::create(moveby, jumpby, rotateby, NULL);

动作Action的更多相关文章

  1. Java基础之处理事件——使用动作Action(Sketcher 6 using Action objects)

    控制台程序. 动作Action是任何实现了javax.swing.Action接口的类的对象.这个接口声明了操作Action对象的方法,例如,存储与动作相关的属性.启用和禁用动作.Action接口扩展 ...

  2. Learning Cocos2d-x for WP8(8)——动作Action

    原文:Learning Cocos2d-x for WP8(8)--动作Action 游戏很大程度上是由动作画面支撑起来的. 动作分为两大类:瞬间动作和延时动作. 瞬间动作基本等同于设置节点的属性,延 ...

  3. 08 Zabbix4.0系统配置事件通知 - 动作Action

    点击返回:自学Zabbix之路 点击返回:自学Zabbix4.0之路 点击返回:自学zabbix集锦 08 Zabbix4.0系统配置事件通知 - 动作Action 请点击查看Zabbix3.0.8版 ...

  4. 创建一个动作-Action类:

    让我们创建一个Java文件HelloWorldAction.java的Java资源> SRC下一个的包名com.yiibai.struts2与下面的内容. package com.yiibai. ...

  5. libgdx学习记录6——动作Action

    libgdx中的Action类能够有效的帮助我们实现位移.旋转.缩放.淡入淡出等效果,对游戏的设计很有用. Action是一个抽象类,本身不可以实例化.一般使用的它的继承类,常用的有 MoveToAc ...

  6. Asp.Net MVC学习总结(二)——控制器与动作(Controller And Action)

    一.理解控制器 1.1.什么是控制器 控制器是包含必要的处理请求的.NET类,控制器的角色封装了应用程序逻辑,控制器主要是负责处理请求,实行对模型的操作,选择视图呈现给用户. 简单理解:实现了ICon ...

  7. Struts2 In Action笔记_页面到动作的数据流入和流出

    因为回答百度知道的一个问题,仔细查看了<Struts2 In Action>,深入细致的看了 “数据转移OGNL 和 构建视图-标签”,很多东西才恍然大悟. 一直觉得国外写的书很浮,不具有 ...

  8. ASP.NET MVC动作过滤器

    ASP.NET MVC提供了4种不同的动作过滤器(Aciton Filter). 1.Authorization Filter 在执行任何Filter或Action之前被执行,用于身份验证 2.Act ...

  9. 一步步学习ASP.NET MVC3 (7)——Controller,Action,ActionResult

    请注明转载地址:http://www.cnblogs.com/arhat 前面几章我们讲解的都是关于View方面的知识,虽然还有很多关于View的知识没有讲,但是没关系,我们在后面使用到的时候在讲解, ...

随机推荐

  1. Linq无聊练习系列6--Any/All/Contains/Concat/Union/Intersect/Except/take/skip/SqlMethods操作练习

    /*********************Any/All/Contains/Concat/Union/Intersect/Except/take/skip/SqlMethods操作练习******* ...

  2. c#中关于String、string,Object、object,Int32、int

    在java中,string和String有着明显的区别,后者就是前者的一个封装.在c#中,好像是通用的,大部分情况下,两者互换并不会产生问题.今天特意查了一下资料,了解了一下两者的关系. 简单的讲,S ...

  3. iOS基础 - 触摸事件&手势识别

    ================================================================== 一.触摸事件&手势识别 1> 4个触摸事件,针对视图 ...

  4. 【IOS开发】如何画1像素的线

    最近在项目中画了一根1像素的线,我是通过直接花一个但是通过PS查看,画了不止1个像素. 原代码语句: label1 = [[UILabel alloc] initWithFrame:CGRectMak ...

  5. map,set的模板[STL]

    之前写某题单词查找的时候,有用到set,晚上写codeforces#497 div2 D题有用到map 感觉set,map的功能挺类似的,在此小结: 这里就不具体比较相同点和不同点了,免得看起来乱七八 ...

  6. ARM备忘

    mov: move sub: subtract cmp: compare cmpls: ls--->lower or same, le--->less or equal, hi---> ...

  7. HashTable和HashSet中的类型陷阱

    HashTable和HashSet中的类型陷阱 发现这个陷阱的起因是这样的:我现在有上百万字符串,我准备用TopK算法统计出出现次数做多的前100个字符串. 首先我用Hashtable统计出了每个字符 ...

  8. 消除Switch...Case的过程

    http://www.cnblogs.com/happyframework/p/3300170.html 目录 备注需求第一遍代码(重复的代码)第二遍代码(消除重复)备注 备注返回目录 不要重复自己, ...

  9. .NET自带IOC

    .NET自带IOC 本文主要把MEF作为一种IOC容器进行讲解,.net中可用的IOC容器非常多,如 CastleWindsor,Unity,Autofac,ObjectBuilder,Structu ...

  10. STM32通过FSMC驱动3.2寸液晶屏实现的音乐频谱

    视频演示: http://player.youku.com/player.php/sid/XNDcyMDgwMTE2/v.swf 源码下载: lattice_ music _tft.rar(1.42 ...