Cocos2d x 3 2動作類Action 整理

2021-06-28 19:16:49 字數 1327 閱讀 7865

cocos2d提供的基本動作:瞬時動作、延時動作、運作速度。

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

cocos2d提供以下瞬時動作:

效果類似於 node.position = ccp(x, y)。之所以作為乙個動作來實現是為了可以與其他動作形成乙個連續動作。

效果類似於 [node setvisible:no]. 之所以作為乙個勱作來實現是為了可以與其他動作形成乙個連續動作。

效果類似於 [node setvisible:yes]. 之所以作為乙個動作來實現是為了可以與其他動作形成乙個連續動作。

2.延時動作

延時動作就是指動作的完成需要一定時間。因此actionwithduration 是延時動作執行時的第乙個引數,延時動作的共同基類是 intervalaction(包含了組合動作類)。

cocos2d提供以下瞬時動作(函式命名規則是:***xto: 意味著運動到指定的位置, ***xby:意味著運動到按照指定的 x、y 增量的位置。[x、y 可以是負值]):

3.組合動作

按照一定的次序將上述基本動作組合起來,形成連貫的一套組合動作。組合動作包括以下幾類:

sequence 的使用非常簡單,該類也從 intervalaction 派生,本身就可以被 cocosnode 物件執行。該類的作用就是線序排列若干個動作,然後按先後次序逐個執行。

spawn 的使用非常簡單,該類也從 intervalaction 派生,本身就可以被cocosnode 物件執行。該類的作用就是同時並列執行若干個動作,但要求動作都必須是可以同時執行的。比如:移動式翻轉、變色、變大小等。

需要特別注意的是,同步執行最後的完成時間由基本動作中用時最大者決定。

重複有限次數的動作,該類也從 intervalaction 派生,可以被 cocosnode 物件執行。

反動作就是反向(逆向)執行某個動作,支援針對動作序列的反動作序列。反動作不是乙個專門的類,而是 finiteaction 引入的乙個介面。不是所有的類都支援反動作,***xto 類通常不支援反動作,***xby 類通常支援。

動畫就是讓精靈自身連續執行一段影像,形成模擬運動的效果:行走時的精靈狀態、打鬥時的狀態等。

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

4.速度變化

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

5.擴充套件動作

Cocos2d x3 2 多點觸控

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 include cocos2d.h using ns cc classgamescene publiccocos2d layer 簡介 cocos2d x 3.0...

cocos2d x 3 2建立專案方法

1.首先開啟終端,cd到cocos2d x 3.2目錄下,執行命令.setup.py 根據提示設定相應的ndk路徑ndk root,sdk路徑 android sdk root,ant路徑 ant root,cocos2d路徑cocos console root cocos2d x 3.2 tool...

cocos2d x3 2 多點縮放單點滑動

重設bgsprite錨點和位置 bgsprite setanchorpoint vec2 anchorx,anchory bgsprite setposition vec2 absmidx,absmidy 根據兩觸控點前後的距離計算縮放倍率 auto scale bgsprite getscale ...