天天看點

Cocos2d-x學習筆記(二)淺析動作類CCAction(1)

Cocos2d-x的動作類CCAction并不是一個在螢幕中顯示的對象,動作必須要依托于CCNode類及其子類的執行個體才能發揮作用。CCAction繼承于對象類CCObject,有三個子類:有限時間動作、跟随、移動速度,其中有限時間動作子類CCActionInterVal會形成動畫過程。

下面是一些CCActionInterVal比較實用的子類:

在了解這些子類之前先介紹一些CC***To于CC***By之間的差別:CC***To是一個絕對量(固定不變),而CC***By是一個相對量(動态改變),具體的類有具體的含義。(運作執行個體可參照TestCpp裡面詳細例子)

(1) 移動動作類CCMoveTo和CCMoveBy:

 Create()函數原型CCMoveTo* create(float,CCPoint&),第一個參數是時間,第二個參數是位置對象。精靈類執行個體在調用runAction()函數執行動作時,其傳入的參數類型為CCSequence,CCSequence動作序列是由多個動作構成,其create()函數是以動作序列為參數,以NULL為結尾,主要作用是使傳入的動作順序執行。、

(2)縮放動作類CCScaleTo和CCScaleBy:

 Create()函數原型CCScaleTo* create(flaot,float,float),傳入2個參數時:第一個參數表示時間間隔,第二個參數表示縮放比例;傳入三個參數時:第一個參數表示時間間隔,第二個參數表示X軸縮放比例,第三個參數表示Y軸縮放比例。

(3)扭曲動作類CCSkewTo和CCSkewBy:

 Create()函數原型CCSkewTo* create(),第一個參數是時間間隔,第二個參數是X軸扭轉參數,第三個參數是Y軸扭轉參數。

(4)旋轉動作類CCRotateTo和CCRotateBy:

Create()函數原型CCRotateTo* create(flaot,floart),第一個參數表示時間間隔,第二個參數表示旋轉角度,這裡的角度采用角度制表示。

(5)跳躍動作類CCJumpTo和CCJumpBy:

 Create()函數原型CCJumpTo* create(flaot,CCPoint&,flaot,int),第一個參數表示時間間隔,第二個參數表示目标位置的絕對坐标(CCRotateBy表示相對坐标),第三個參數表示跳躍高度,第四個參數表示跳躍次數。

(6)貝塞爾曲線動作類CCBezierTo和CCBezierBy:

 Create()函數原型CCBezierTo* create(flaot,ccBezierConfig&),第一個參數表示時間間隔,第二個參數是貝塞爾曲線的配置系數。其中ccBezierCofig的有三個參數需要配置,前兩個是控制點,最後一個是終點。

(7)淡入淡出動作類CCFadeIn和CCFadeOut:

 Create函數原型CCfadeIn* create(float),參數表示不透明度。這裡需要說明的是,淡入首先要将不透明度設為0.

(8)閃爍動作類CCBlink:

Create()函數原型CCBlink* create(float,unsigned int),第一個參數表示時間間隔,第二個參數表示閃爍次數。

(9)色值漸變動作類CCTintTo和CCTintBy:

 Create()函數原型CCTintTo* create(float,Glubyte,Glubyte,Glubyte),第一個參數表示時間間隔,後面三個參數分别表示顔色的RGB值。

繼續閱讀