动作都是对精灵的操作,比如:移动,旋转,缩放,渐变…等

Cocos的动作分为很多种,基本动作,瞬时动作,延时动作,组合动作,速度变化,扩展动作。

瞬时动作:就是不需要时间,可以马上就完成的动作。

比如:

setPosition() , //设置精灵位置

setVisible() ,      //设置可见性

 

延时动作:延时动作就是指动作的完成需要一定时间。

比如:(我比较懒,就直接拷贝了)

  •  移动到 – CCMoveTo
  • 移动–       CCMoveBy
  • 跳跃到 –  CCJumpTo   设置终点位置和跳跃的高度和次数。
  • 跳跃 –      CCJumpBy   设置终点位置和跳跃的高度和次数。
  • 贝塞尔 –  CCBezierBy  支持 3 次贝塞尔曲线:P0-起点,P1-起点切线方向,P2-终点切线方向,P3-终点。
  • 放大到 –  CCScaleTo   设置放大倍数,是浮点型。
  • 放大 –      CCScaleBy
  • 旋转到 –  CCRotateTo
  • 旋转 –      CCRotateBy
  • 闪烁 –      CCBlink   设定闪烁次数
  • 色调变化到 – CCTintTo
  • 色调变换 –     CCTintBy
  • 变暗到 –         CCFadeTo
  • 由无变亮 –     CCFadeIn
  • 由亮变无 –     CCFadeOut

以上这些都是cocos2d-x 2.0 的函数,去掉前面的CC就是3.0的声明了,如有特殊的可以去百度,不过大多数的规则都是这样,2.0有CC,3.0没有CC…

 

组合动作:按照一定的次序将上述基本动作组合起来,形成连贯的一套组合动作。

组合动作有很多种,举个形象的例子:跳舞的时候,我们可能同时执行不同的动作,且将这些组合动作顺序的执行,甚至可能执行多次重复…就像下面这样:

  •  序列 – CCSequence:Sequence 的使用非常简单,该类也从 CCIntervalAction 派生,本身就可以被 CocosNode 对象执行。该类的作用就是线序排列若干个动作,然后按先后次序逐个执行。
  • 同步 – Spawn:Spawn 的使用非常简单,该类也从 IntervalAction 派生,本身就可以被CocosNode 对象执行。该类的作用就是同时并列执行若干个动作,但要求动作都必须是可以同时执行的。比如:移动式翻转、变色、变大小等。需要特别注意的是,同步执行最后的完成时间由基本动作中用时最大者决定。
  • 重复有线次数 – Repeate:重复有限次数的动作,该类也从 IntervalAction 派生,可以被 CocosNode 对象执行。
  • 反动作 – Reverse:就是反向(逆向)执行某个动作,支持针对动作序列的反动作序列。反动作不是一个专门的类,而是 CCFiniteAction 引入的一个接口。不是所有的类都支持反动作,XxxxTo 类通常不支持反动作,XxxxBy 类通常支持。
  •  动画 – Animation:就是让精灵自身连续执行一段影像,形成模拟运动的效果:行走时的精灵状态、打斗时的状态等。
  • 无限重复 – RepeatForever:是从 Action 类直接派生的,因此无法参与序列和同步;自身也无法反向执行。该类的作用就是无限期执行某个动作或动作序列,直到被停止。

 

速度变化:还是跳舞的例子:加速减速…什么时候节奏快,什么时候节奏慢,肯定是不一样的。

  • EaseIn 由慢至快。
  • EaseOut 由快至慢
  • EaseInOut 由慢至快再由快至慢。
  • EaseSineIn由慢至快。
  • EaseSineOut 由快至慢
  • EaseSineInOut 由慢至快再由快至慢。
  • EaseExponentialIn 由慢至极快。
  • EaseExponentialOut 由极快至慢。
  • EaseExponentialInOut 由慢至极快再由极快至慢。
  • Speed 人工设定速度,还可通过 SetSpeed 不断调整。

 

扩展动作:这个比较乱,比如,延时动作 – Delay ,在动作序列中增加一个时间间歇

 

其他的还有跟随动作缓冲动作回调动作以及动作管理等等。

【cocos2d】基本动作语句及其区别
Tagged on:     
0 0 投票数
Article Rating
订阅评论
提醒

0 评论
内联反馈
查看所有评论