一、缓冲动作
在实现运动中,常常需要一些加速度或者减速度的效果。Cocos2D-X引擎为我们提供了相应的实现接口,这样就不用再用原来的公式计算方法来实现加减速的效果。
Ease系列的方法改变了运动的速度,但是并没有改变总体时间。如果整个动作持续5s,那么整个时间仍然会持续 5s。这些动作可以分为三类。
<1> In actions:action(开始的时候加速)
<2> Out actions:action(结束的时候加速)
<3> InOut actions:action(开始和结束的时候加速)
CCActionEase有很多子类,根据不同的缓冲公式来模拟加减速过程。缓冲动作的具体内容如下。
<1> 指数缓冲:分别为EaseExponentialIn、EaseExponentialOut、EaseExponentialInOut。
速度时间坐标图如下图所示。
<2> 赛因缓冲:分别为EaseSineIn、EaseSineOut、EaseSineInOut。速度时间坐标图如下图所示。
<3> 跳跃缓冲:分别为EaseBounceIn、EaseBounceOut、EaseBounceInOut。速度时间坐标图如下图所示。
<4> 弹性缓冲:分别为EaseElasticIn、EaseElasticOut、EaseElasticInOut。速度时间坐标图如下图所示
<5> 回震缓冲:分别为EaseBackIn、EaseBackOut、EaseBackInOut。速度时间坐标图如下图所示。
以上介绍了5种缓冲动作,加上基本的缓冲动作,一共是6种缓冲动作,
//基本缓冲动作
CCEaseIn::create((CCActionInterval*)(move->copy()->autorelease()),2.5f);
CCEaseOut::create((CCActionInterval*)(move->copy()->autorelease()),2.5f);
CCEaseInOut::create((CCActionInterval*)(move->copy()->autorelease()),0.65f);