您好,登錄后才能下訂單哦!
設(shè)計(jì)玩家的血條,重載CCLayer的draw(),主要使用幾個(gè)簡(jiǎn)單的OpenGL ES函數(shù)進(jìn)行繪制
如下:
類的實(shí)現(xiàn)如下
class Level: public CCLayer
{
private:
int life;//生命值
public:
//獲得生命值
int getlife();
//獲得金幣數(shù)
//設(shè)置生命值
void setlife(int temp);
//設(shè)置金幣數(shù)
Level(void);
~Level(void);
//繪制血條
virtual void Level::draw();
};
主要函數(shù)的實(shí)現(xiàn)
Level::Level(void)
{
//初始化變量
life = 100;
}
Level::~Level(void)
{
}
void Level::draw()
{
CCLayer::draw();
CCSize s = CCDirector::sharedDirector()->getWinSize();
glColor4f(0.0,0.0,0.0,1.0);
glLineWidth(10);
ccDrawLine( CCPointMake(5,s.height - 10), CCPointMake(115,s.height - 10) );
glColor4f(1.0,0.0,0.0,1.0);
glLineWidth(5);
ccDrawLine( CCPointMake(10,s.height - 11), CCPointMake(10 + life,s.height - 11) );
}
int Level::getlife()
{
return life;
}
void Level::setlife(int temp)
{
life = temp;
}
加入init()中
Level* lvl=new Level();
addChild(lvl);
下一篇將講解敵人的初始化,以及敵人的血條的處理。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。