cocos2d x 連幀動畫實現

2022-03-20 15:05:15 字數 1209 閱讀 2934

最開始的動畫片也是用疊加的方法,下面介紹如何有多張實現乙個小小的動畫:

然後在你的init函式裡面:

ccsprite *p2 = ccsprite::spritewithfile("name1.png");//首先還是要建立乙個精靈物件

p2->setposition(ccpointmake(240,160));

this->addchild (p2,1);

ccanimation* animation = ccanimation::animation();

char framename[100] = ;

for( int i=1;i<=4;i++)    //的張數

sprintf(framename, "name%d.png", i);       //迴圈

animation->addframewithfilename(framename);   

ccactioninterval*  action = ccanimate::actionwithduration(0.5f, animation, false);    是切換的時間

ccactioninterval*  action_back = action->reverse();//返回到原先的狀態

sp2->runaction(action);

這樣就實現了簡單的連幀動畫了!

同時你可以定義其他的動作:

ccmoveto

ccmoveby

ccjumpto

等等其他的動作,然後用 sp2->runaction(ccsequence::actions(action1,action2,action3,null));//不要忘了加null哦

有的時候你想執行乙個動作之後,經過一段時間再去執行另外乙個動作

這時候你可以用到延時:

延時是:ccdelaytime

cocos2d-x都是英文式的 意思都很容易看懂,有時候你可以在自動補齊中找到你自己想要的函式,然後看需要加入什麼引數。

如上面的 你在執行了action1後想經過三秒再執行action2

可以這樣實現

sp2->runaction(ccsequence::actions(action1,ccdelaytime:;actionwithduration(3),action2,null));//actionwithduration()裡面的引數是時間

如有錯誤,希望大家提出來啊!!謝謝啊!!!!!

cocos2d x幀動畫實現(續)

之前我介紹過cocos2d x的幀動畫實現,今天我把幀動畫詳細寫一下。那麼首先我們要一套動畫的序列圖,沒有圖的可以看引擎例子裡面的圖。很多張圖我們可以採用tp工具將它們壓縮到一張png裡面去,這樣程式只需要讀取一次就行了,提高效率。比如我將這裡的6張圖壓成了乙個png,tp會產生乙個所有圖的png和...

Cocos2dx 《基礎》 幀動畫

幀動畫 a.spriteframe 精靈幀。精靈幀包含了對應紋理在大的紋理區域中的位置和大小,對應紋理是否經過旋轉和偏移。根據這些幾何資訊,可以從大的紋理中找到正確的紋理區域作 為精靈幀顯示的影象。使用紋理建立精靈幀 auto tex texturecache getinstance addimag...

cocos2d x幀動畫實現(寫下備忘)

那麼首先我們要一套動畫的序列圖,沒有圖的可以看引擎例子裡面的圖。很多張圖我們可以採用tp工具將它們壓縮到一張png裡面去,這樣程式只需要讀取一次就行了,提高效率。動畫是打地鼠地鼠出洞的表現,如下 新的遊戲動畫 建立cache ccspriteframecache cache ccspritefram...