晓石头的博客
邮箱:178673693@qq.com
转载请注明出处,原文连接:http://www.jb51.cc/article/p-wqythhdv-vx.html
效果演示图
血槽血量的变化是有两个元素构成的:
1.血槽图
2.红色的进度条
当进度条的进度值不断减少的时候,就产生血量减少的效果。
UI的布局我采用了CocoStudio的UI编辑器,感觉不错,挺容易上手的,如果需要相关资料的给我留言。继续上图~
二、再说实现
bool HelloWorld::init(){ if (!Layer::init()) { return false; } auto bk = CCSprite::create("q2.jpg"); bk->setAnchorPoint(Point::ZERO); bk->setposition(Point::ZERO); this->addChild(bk); /* 加载UI */ auto UI = cocostudio::GUIReader::getInstance()->WidgetFromJsonfile("ph2Ui_1.ExportJson"); UI->setposition(Point(50,50)); this->addChild(UI); /* 获取控件对象 */ m_hpbar = (Loadingbar*)Helper::seekWidgetByname(UI,"hpbar"); button* addBtn = (button*)Helper::seekWidgetByname(UI,"addBtn"); button* delBtn = (button*)Helper::seekWidgetByname(UI,"delBtn"); /* 添加点击监听 */ addBtn->addtouchEventListener(this,toucheventselector(HelloWorld::onClickAdd)); delBtn->addtouchEventListener(this,toucheventselector(HelloWorld::onClickDel)); return true;}/* 补血 */voID HelloWorld::onClickAdd(Ref*,touchEventType type){ switch (type) {case touchEventType::touch_EVENT_ENDED:/* 设置进度条的进度值 */ m_hpbar->setPercent(m_hpbar->getPercent() + 5); break; } }/* 伤害 */voID HelloWorld::onClickDel(Ref*,touchEventType type){ switch (type) { case touchEventType::touch_EVENT_ENDED: m_hpbar->setPercent(m_hpbar->getPercent() - 5); break; }}
源代码免积分下载:http://download.csdn.net/detail/qiulanzhu/8954033
总结以上是内存溢出为你收集整理的Cocos2D游戏之旅(二):主角血条的实现全部内容,希望文章能够帮你解决Cocos2D游戏之旅(二):主角血条的实现所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)