自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Cocos2d學(xué)習(xí)筆記之動作Action

移動開發(fā) iOS 游戲開發(fā)
本文介紹的是Cocos2d學(xué)習(xí)筆記中的動作Action,主要是來詳細(xì)了解動作Action的使用方法,先來阿卡呢本文詳細(xì)內(nèi)容。

Cocos2d學(xué)習(xí)筆記中的動作Action是本文要介紹的內(nèi)容,感謝知易的cocos2d教程,在拜讀他的教程時將一些要點記錄下來,以便隨時查閱。來看文章詳解了動作Action相關(guān)內(nèi)容。

1.基本動作

Cocos2d提供的基本動作:瞬時動作、延時動作、運(yùn)作速度。

瞬時動作:就是不需要時間,馬上就完成的動作。瞬時動作的共同基類是 InstantAction。

Cocos2d提供以下瞬時動作:

放置 – Place

效果類似于 node.Position = ccp(x, y)。之所以作為一個動作來實現(xiàn)是為了可以與其他動作形成一個連續(xù)動作。

隱藏 – Hide

效果類似于 [node setVisible:NO]. 之所以作為一個勱作來實現(xiàn)是為了可以與其他動作形成一個連續(xù)動作。

顯示 – Show

效果類似于 [node setVisible:YES]. 之所以作為一個動作來實現(xiàn)是為了可以與其他動作形成一個連續(xù)動作。

可見切換 – ToggleVisibility

2.延時動作

延時動作就是指動作的完成需要一定時間。因此actionWithDuration 是延時動作執(zhí)行時的***個參數(shù),延時動作的共同基類是 CCIntervalAction(包含了組合動作類)。

 Cocos2d提供以下瞬時動作(函數(shù)命名規(guī)則是:XxxxTo: 意味著運(yùn)動到指定的位置, XxxxBy:意味著運(yùn)動到按照指定的 x、y 增量的位置。[x、y 可以是負(fù)值]):

  1. 移動到 – CCMoveTo   
  2. 移動– CCMoveBy   
  3. 跳躍到 – CCJumpTo   設(shè)置終點位置和跳躍的高度和次數(shù)。   
  4. 跳躍 – CCJumpBy   設(shè)置終點位置和跳躍的高度和次數(shù)。   
  5. 貝塞爾 – CCBezierBy  支持 3 次貝塞爾曲線:P0-起點,P1-起點切線方向,P2-終點切線方向,P3-終點。   
  6. 放大到 – CCScaleTo   設(shè)置放大倍數(shù),是浮點型。   
  7. 放大 – CCScaleBy   
  8. 旋轉(zhuǎn)到 – CCRotateTo   
  9. 旋轉(zhuǎn) – CCRotateBy   
  10. 閃爍 – CCBlink   設(shè)定閃爍次數(shù)   
  11. 色調(diào)變化到 – CCTintTo   
  12. 色調(diào)變換 – CCTintBy   
  13. 變暗到 – CCFadeTo   
  14. 由無變亮 – CCFadeIn   
  15. 由亮變無 – CCFadeOut  

3.組合動作

按照一定的次序?qū)⑸鲜龌緞幼鹘M合起來,形成連貫的一套組合動作。組合動作包括以下幾類:

序列 – CCSequence

Sequence 的使用非常簡單,該類也從 CCIntervalAction 派生,本身就可以被 CocosNode 對象執(zhí)行。該類的作用就是線序排列若干個動作,然后按先后次序逐個執(zhí)行。

同步 – Spawn

Spawn 的使用非常簡單,該類也從 IntervalAction 派生,本身就可以被CocosNode 對象執(zhí)行。該類的作用就是同時并列執(zhí)行若干個動作,但要求動作都必須是可以同時執(zhí)行的。比如:移動式翻轉(zhuǎn)、變色、變大小等。

需要特別注意的是,同步執(zhí)行***的完成時間由基本動作中用時***者決定。

重復(fù)有線次數(shù) – Repeate

重復(fù)有限次數(shù)的動作,該類也從 IntervalAction 派生,可以被 CocosNode 對象執(zhí)行。

動作 – Reverse

反動作就是反向(逆向)執(zhí)行某個動作,支持針對動作序列的反動作序列。反動作不是一個專門的類,而是 CCFiniteAction 引入的一個接口。不是所有的類都支持反動作,XxxxTo 類通常不支持反動作,XxxxBy 類通常支持。

動畫 – Animation

動畫就是讓精靈自身連續(xù)執(zhí)行一段影像,形成模擬運(yùn)動的效果:行走時的精靈狀態(tài)、打斗時的狀態(tài)等。

無限重復(fù) – RepeatForever

RepeatForever 是從 Action 類直接派生的,因此無法參與序列和同步;自身也無法反向執(zhí)行。該類的作用就是無限期執(zhí)行某個動作或動作序列,直到被停止。

4.速度變化

基本動作和組合動作實現(xiàn)了針對精靈的各種運(yùn)動、動畫效果的改變,但這樣的改變的速度是不變的,通過 CCEaseAction 為基類的類系和 CCSpped 類我們可以很方便的修改精靈執(zhí)行勱作的速度:由快至慢還是由慢至快。

  1. EaseIn 由慢至快。   
  2. EaseOut 由快至慢   
  3. EaseInOut 由慢至快再由快至慢。   
  4. EaseSineIn   
  5.  
  6. 由慢至快。   
  7.  
  8. EaseSineOut 由快至慢   
  9. EaseSineInOut 由慢至快再由快至慢。   
  10. EaseExponentialIn 由慢至極快。   
  11. EaseExponentialOut 由極快至慢。   
  12. EaseExponentialInOut 由慢至極快再由極快至慢。   
  13. Speed 人工設(shè)定速度,還可通過 SetSpeed 不斷調(diào)整。  

5.擴(kuò)展動作

延時動作 – Delay ,比如在動作序列中增加一個時間間歇

函數(shù)調(diào)用

函數(shù)

在動作序列中間或者結(jié)束調(diào)用某個函數(shù),執(zhí)行任何需要執(zhí)行的任務(wù):動作、狀態(tài)修改等。

  1. id acf = [CCCallFunc actionWithTarget:self selector:@selector(CallBack1)]; 

對應(yīng)的函數(shù)為:

  1. - (void) CallBack1 {  
  2. [sprite runAction:[CCTintBy actionWithDuration:0.5 red:255 green:0 blue:255]]; } 

帶對象參數(shù)--調(diào)用自定義函數(shù)時,傳遞當(dāng)前對象。

  1. id acf = [CallFuncN actionWithTarget:self selector:@selector(CallBack2:)]; 

對應(yīng)的自定義函數(shù):(這里,我們直接使用了該對象)

  1. - (void) CallBack2:(id)sender {  
  2. [sender runAction:[CCTintBy actionWithDuration:1 red:255 green:0 blue:255]];   
  3. }  

帶對象、數(shù)據(jù)參數(shù)--用自定義函數(shù)時,傳遞當(dāng)前對象和一個常量(也可以是指針)。

  1. id acf = [CCCallFuncND actionWithTarget:self selector:@selector(CallBack3:data:) data:(void*)2]; 

對應(yīng)的自定義函數(shù),我們使用了傳遞的對象和數(shù)據(jù):

  1. -(void) CallBack3:(id)sender data:(void*)data {  
  2. [sender runAction:[CCTintBy actionWithDuration:(NSInteger)data red:255 green:0 blue:255]];   
  3. }  

小結(jié):Cocos2d學(xué)習(xí)筆記之動作Action的內(nèi)容介紹完了,希望本文對你有所幫助!

責(zé)任編輯:zhaolei 來源: 互聯(lián)網(wǎng)
相關(guān)推薦

2011-07-08 16:09:54

Cocoa Cocos2d 動作

2011-07-08 16:27:52

Cocoa Cocos2d 動作

2011-08-02 15:37:48

Cocos2D UIAccelero

2011-08-11 17:52:01

Cocos2d游戲對象

2011-08-02 15:47:28

Cocos2D Animation

2011-08-09 16:08:58

IOS游戲Cocos2d

2011-08-17 15:04:48

Cocos2DUIAccelerom加速計

2011-07-27 10:13:23

Cocos2D iPhone

2011-07-29 18:02:06

2012-06-01 10:27:44

Cocos2d觸摸分發(fā)原理

2011-08-04 17:01:16

iPhone游戲開發(fā) Cocos2d

2011-08-11 14:22:47

iPhone游戲Cocos2D

2011-08-11 14:32:04

iPhone游戲Cocos2dActions

2011-07-27 13:44:08

2011-07-20 14:04:46

Cocos2d iPhone 游戲

2011-08-09 16:25:16

Cocos2d視圖坐標(biāo)

2012-02-19 20:10:23

Cocos2d-x fCocos2dWindows Pho

2011-07-27 14:48:21

iPhone Cocos2D 坐標(biāo)

2011-08-08 11:26:39

Cocos2d 游戲 Class類

2011-08-08 17:17:55

Cocos2D 坐標(biāo) OpenglES
點贊
收藏

51CTO技術(shù)棧公眾號