设计玩家的血条,重载CCLayer的draw(),主要使用几个简单的OpenGL ES函数进行绘制
如下:
类的实现如下
class Level: public CCLayer
{
private:
int life;//生命值
public:
//获得生命值
int getlife();
//获得金币数
//设置生命值
void setlife(int temp);
//设置金币数
Level(void);
~Level(void);
//绘制血条
virtual void Level::draw();
};
主要函数的实现
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);
下一篇将讲解敌人的初始化,以及敌人的血条的处理。