cocos2d x遊戲技能CD的實現

2021-06-12 15:34:13 字數 2118 閱讀 5121

用一張資源影象完成技能cd的動畫實現,這裡用到了其他博主分享的乙個取灰色的**,在此謝過!

bygraysprite.h檔案

#include "cocoa/ccgeometry.h"

#include "cocos2d.h"

using_ns_cc;

class bygraysprite : public ccsprite;

#endif

bygraysprite.cpp檔案
#include "bygraysprite.h"

bygraysprite::bygraysprite()

bygraysprite::~bygraysprite()

bygraysprite* bygraysprite::create( const char* pszfilename )else

}bool bygraysprite::initwithtexture(cctexture2d* ptexture, const ccrect& trect )";

ccglprogram* pprogram = new ccglprogram();

pprogram->initwithvertexshaderbytearray(ccpositiontexturecolor_vert, pszfragsource);

this->setshaderprogram(pprogram);

pprogram->release();

check_gl_error_debug();

this->getshaderprogram()->addattribute(kccattributenameposition, kccvertexattrib_position);

this->getshaderprogram()->addattribute(kccattributenamecolor, kccvertexattrib_color);

this->getshaderprogram()->addattribute(kccattributenametexcoord, kccvertexattrib_texcoords);

check_gl_error_debug();

this->getshaderprogram()->link();

check_gl_error_debug();

this->getshaderprogram()->updateuniforms();

check_gl_error_debug();

return true;

} while (0);

return false;

}void bygraysprite::draw()

原始碼實現:

//灰白圖的生成

bygraysprite* graysprite = bygraysprite::create("icon-72.png");

graysprite->setposition(ccp(240, 160));

std::coutthis->addchild(graysprite,-1);

ccsprite* normalsprite = ccsprite::create("icon-72.png");

ccprogressto *action1 = ccprogressto::create(2, 100);

ccprogresstimer *cdact = ccprogresstimer::create(normalsprite);

cdact->settype(kccprogresstimertyperadial);

cdact->setposition(ccp(240,160));

cdact->runaction(ccrepeatforever::create(action1));

this->addchild(cdact);

好了,筆記就做到這,僅用一張資源圖就可以搞定的技能cd,mark一下,分享快樂~~

cocos2d x 遊戲技能CD實現

遊戲中技能cd用的最多的也就兩種。一種是類似dota裡面技能cd的灰色半透明透明遮罩層,順時針或者逆時針。另一種就是類似植物大戰殭屍裡面的植物建造cd。上下型別的遮罩層。其實cocos2d x可以很容易實現這種效果。dota裡面技能cd實現 ccprogresstimer pt ccprogress...

cocos2d x 遊戲優化方案

優化的方案 引擎底層優化 紋理優化 渲染優化 資源快取 記憶體優化.紋理優化 cocos2d x 底層是opengl es實現的。對於圖案片載入的記憶體是2的冪次方。使用的是100 128 會被轉為128 128。如此浪費一定的空間。色深優化 png a8r8g8b8 a1r5g5b5 argb44...

cocos2dx遊戲優化方向

優化方向 一 引擎底層優化 cocos2dx版本選擇 二 紋理優化 png格式,乙個畫素4位元組 1.二的冪次方拼圖 由於底層的opengl是按二的冪次方申請記憶體的,然後再吧這個存在記憶體中,如果 乙個480 480 4的要存入記憶體,那麼它的實際占用記憶體是512 512 4。所以為節約記憶體,...