Cocos2d-x學習筆記(二)淺析動作類CCAction(1)
Cocos2d-x的動作類CCAction並不是一個在螢幕中顯示的物件,動作必須要依託於CCNode類及其子類的例項才能發揮作用。CCAction繼承於物件類CCObject,有三個子類:有限時間動作、跟隨、移動速度,其中有限時間動作子類CCActionInterVal會形成動畫過程。
下面是一些CCActionInterVal比較實用的子類:
在瞭解這些子類之前先介紹一些CC***To於CC***By之間的區別:CC***To是一個絕對量(固定不變),而CC***By是一個相對量(動態改變),具體的類有具體的含義。(執行例項可參照TestCpp裡面詳細例子)
(1) 移動動作類CCMoveTo
Create()函式原型CCMoveTo* create(float,CCPoint&),第一個引數是時間,第二個引數是位置物件。精靈類例項在呼叫runAction()函式執行動作時,其傳入的引數型別為CCSequence,CCSequence動作序列是由多個動作構成,其create()函式是以動作序列為引數,以NULL為結尾,主要作用是使傳入的動作順序執行。、
(2)縮放動作類CCScaleTo和CCScaleBy:
Create()函式原型CCScaleTo* create(flaot,float,float)
(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值。