最開始的動畫片也是用疊加的方法,下面介紹如何有多張實現乙個小小的動畫:
然後在你的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...