一昨稼、緩沖動作
? ? ? ??在實現(xiàn)運動中,常常需要一些加速度或者減速度的效果坷备。Cocos2D-X引擎為我們提供了相應(yīng)的實現(xiàn)接口,這樣就不用再用原來的公式計算方法來實現(xiàn)加減速的效果情臭。
? ? ?Ease系列的方法改變了運動的速度省撑,但是并沒有改變總體時間炼蛤。如果整個動作持續(xù)5s蝗柔,那么整個時間仍然會持續(xù)?5s。這些動作可以分為三類灭忠。?
<1>?In actions:action(開始的時候加速)
<2>?Out actions:action(結(jié)束的時候加速)
<3>?InOut actions:action(開始和結(jié)束的時候加速)
CCActionEase有很多子類跷乐,根據(jù)不同的緩沖公式來模擬加減速過程肥败。緩沖動作的具體內(nèi)容如下。?
<1> 指數(shù)緩沖:分別為EaseExponentialIn愕提、EaseExponentialOut馒稍、EaseExponentialInOut。
速度時間坐標(biāo)圖如下圖所示浅侨。
<2> 賽因緩沖:分別為EaseSineIn纽谒、EaseSineOut、EaseSineInOut如输。速度時間坐標(biāo)圖如下圖所示鼓黔。
<3> 跳躍緩沖:分別為EaseBounceIn央勒、EaseBounceOut、EaseBounceInOut请祖。速度時間坐標(biāo)圖如下圖所示。
<4> 彈性緩沖:分別為EaseElasticIn脖祈、EaseElasticOut肆捕、EaseElasticInOut。速度時間坐標(biāo)圖如下圖所示
<5> 回震緩沖:分別為EaseBackIn盖高、EaseBackOut慎陵、EaseBackInOut。速度時間坐標(biāo)圖如下圖所示喻奥。
以上介紹了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);