1. 程式人生 > >Cocos2d-x學習筆記(二)淺析動作類CCAction(1)

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

Cocos2d-x的動作類CCAction並不是一個在螢幕中顯示的物件,動作必須要依託於CCNode類及其子類的例項才能發揮作用。CCAction繼承於物件類CCObject,有三個子類:有限時間動作、跟隨、移動速度,其中有限時間動作子類CCActionInterVal會形成動畫過程。

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

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

(1) 移動動作類CCMoveTo

CCMoveBy

 Create()函式原型CCMoveTo* create(float,CCPoint&),第一個引數是時間,第二個引數是位置物件。精靈類例項在呼叫runAction()函式執行動作時,其傳入的引數型別為CCSequenceCCSequence動作序列是由多個動作構成,其create()函式是以動作序列為引數,以NULL為結尾,主要作用是使傳入的動作順序執行。、

(2)縮放動作類CCScaleToCCScaleBy

 Create()函式原型CCScaleTo* create(flaot,float,float)

,傳入2個引數時:第一個引數表示時間間隔,第二個引數表示縮放比例;傳入三個引數時:第一個引數表示時間間隔,第二個引數表示X軸縮放比例,第三個引數表示Y軸縮放比例。

(3)扭曲動作類CCSkewToCCSkewBy

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

(4)旋轉動作類CCRotateToCCRotateBy

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

(5)跳躍動作類CCJumpToCCJumpBy

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

(6)貝塞爾曲線動作類CCBezierToCCBezierBy

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

(7)淡入淡出動作類CCFadeInCCFadeOut

 Create函式原型CCfadeIn* createfloat),引數表示不透明度。這裡需要說明的是,淡入首先要將不透明度設為0.

(8)閃爍動作類CCBlink

Create()函式原型CCBlink* createfloatunsigned int,第一個引數表示時間間隔,第二個引數表示閃爍次數。

(9)色值漸變動作類CCTintToCCTintBy

 Create()函式原型CCTintTo* create(floatGlubyte,Glubyte,Glubyte),第一個引數表示時間間隔,後面三個引數分別表示顏色的RGB值。