Cocos2d x 繪製動畫

2022-04-10 06:57:10 字數 2111 閱讀 7705

需要說明的是:因為cocos2d-x是通用遊戲引擎,為了保證相容性和易用性,對動畫機制作了最簡單的設計(被做成了乙個action)。但代價就是繪製動畫的**可能比較多,如果在實際開發中,一般都要選擇自己封裝。最好自己開發乙個編輯器,開發編輯器最好使用qt,因為是跨平台的。

在66rpg裡找了一張動畫資源。

例項**如下:

1 ccsize size = ccdirector::shareddirector()->getwinsize();

23 cctexture2d* texture = cctexturecache::sharedtexturecache()->addimage("

pic2408.png");

45 ccspriteframe *frame0 = ccspriteframe::createwithtexture(texture, ccrectmake(96 * 0, 100 * 0, 96, 100

));6

7 ccspriteframe *frame1 = ccspriteframe::createwithtexture(texture, ccrectmake(96 * 1, 100 * 0, 96, 100

));8

9 ccspriteframe *frame2 = ccspriteframe::createwithtexture(texture, ccrectmake(96 * 2, 100 * 0, 96, 100

));10

11 ccspriteframe *frame3 = ccspriteframe::createwithtexture(texture, ccrectmake(96 * 3, 100 * 0, 96, 100

));12

13 ccarray* animationarray =ccarray::create();

1415 animationarray->addobject(frame0);

1617 animationarray->addobject(frame1);

1819 animationarray->addobject(frame2);

2021 animationarray->addobject(frame3);

2223 ccanimation* animation = ccanimation::createwithspriteframes(animationarray, 0.5f

);24 cc_break_if(!animation);

2526 ccsprite* sprite =ccsprite::createwithspriteframe(frame0);

27 cc_break_if(!sprite);

2829 sprite->setposition(ccp(size.width / 2, size.height / 2

));30

31this->addchild(sprite, 2

);32

33 ccanimate* animate =ccanimate::create(animation);

34 sprite->runaction(ccrepeatforever::create(animate));

繪製效果如圖:

簡單過程是,使用cctexture2d載入 ,用cctexture2d生成對應的ccspriteframe(對應的就是幀),將ccspriteframe新增到ccanimation生成動畫資料,用ccanimation生成ccanimate(就是最終的動畫動作),最後用ccsprite執行這個動作。

Cocos2d x繪製圓角矩形

brief 畫圓角矩形 param origin 矩形開始點 param destination 矩形結束點 param radius 圓角半徑 param segments 圓角等份數,等份越多,圓角越平滑 param bfill 是否填充 param color 填充顏色 attention v...

cocos2dx動畫Animation介紹

一 幀動畫 cpp ccanimation animation ccanimation create 從本地檔案 系統中載入檔案到ccspriteframe中區,然後新增到ccanimation中 for int i 1 i 15 i sprintf szimagefilename,images g...

cocos2dx動畫Animation介紹

一 幀動畫 你可以通過一系列檔案,像如下這樣,建立乙個動畫 01ccanimation animation ccanimation create 02 從本地檔案系統中載入檔案到ccspriteframe中區,然後新增到ccanimation中 03for inti 1 i 15 i 04 06sp...