cocos2d-x 实现静态进度条,文字滚动,以及介绍动态进度条CCProgressTimer
2013-05-31 17:16
459 查看
今天是Cooki第一次写技术类博客,一直想写可是因为太懒了, 哈哈。 这些天才下定决心, 一是本着给自己做笔记, 二来我觉得东西就是要分享出去才能更快乐。 到底要写些什么呢? 就拿我手上的项目来剖析吧。 一款互联网棋牌游戏
好了,咱进入正题。
相信大家对这个都不陌生吧,
经验条。 一个背景条,一个满得经验条就搞定,剩下得就是设置经验条得显示部分了
只需要用到CCSprite::setTextureRect; //设置精灵显示的区域
假设upExp是升级需要得经验,mySelf->exp是我现在得经验
这样即可实现。许多人用setScaleX(); 这样做不好的是会使图片变形,所以我不太推荐
接下来谈谈文字滚动, 其实原理都差不多,都是利用他的显示区域. 看图
,先看我是如何实现的:
m_chatViewBox->chatLabelNew //CCLabelTTF
m_talkRect_mc //CCRect m_talkScrollX_mc//float m_chatViewBox -> fkTexture//背景框
至于动态进度条CCProgressTimer我打算另写一篇博文来介绍它。
肖锐(Cooki)个人原创,欢迎转载,转载请注明地址,肖锐(Cooki)的技术博客 http://blog.csdn.net/xiao0026
好了,咱进入正题。相信大家对这个都不陌生吧,
经验条。 一个背景条,一个满得经验条就搞定,剩下得就是设置经验条得显示部分了
只需要用到CCSprite::setTextureRect; //设置精灵显示的区域
假设upExp是升级需要得经验,mySelf->exp是我现在得经验
bgMoney->setTextureRect(CCRectMake(bgMoney->getTextureRect().origin.x, bgMoney->getTextureRect().origin.y, bgMoney->getTextureRect().size.width*((float)mySelf->exp/upExp), bgMoney->getTextureRect().size.height));
这样即可实现。许多人用setScaleX(); 这样做不好的是会使图片变形,所以我不太推荐
接下来谈谈文字滚动, 其实原理都差不多,都是利用他的显示区域. 看图
,先看我是如何实现的:
m_talkRect_mc = m_chatViewBox->chatLabelNew->getTextureRect(); m_talkScrollX_mc = 0.0; m_chatViewBox -> chatLabelNew -> setTextureRect(CCRectMake(m_talkScrollX_mc, 0,m_chatViewBox -> fkTexture ->getTextureRect().size.width - winSize.width/480*33, m_talkRect_mc.size.height)); schedule(schedule_selector(GameRoomLayer::scrollTalkMessage), 0.05f);
void GameRoomLayer::scrollTalkMessage() { m_talkScrollX_mc += 1.0f; if (m_talkScrollX_mc >= m_talkRect_mc.size.width) { m_talkScrollX_mc = -winSize.width/480*110; } m_chatViewBox->chatLabelNew->setTextureRect(CCRectMake(m_talkScrollX_mc, 0, m_chatViewBox->chatLabelNew->getTextureRect().size.width, m_talkRect_mc.size.height)); }
m_chatViewBox->chatLabelNew //CCLabelTTF
m_talkRect_mc //CCRect m_talkScrollX_mc//float m_chatViewBox -> fkTexture//背景框
至于动态进度条CCProgressTimer我打算另写一篇博文来介绍它。
相关文章推荐
- Cocos2d-x 实现静态进度条,文字滚动
- Cocos2d-x 实现地图滚动,解释缝隙产生的原因以及解决方案
- 静态与动态代理以及动态代理代码实现
- gcc指定库路径,头文件路径以及实现静态动态链接 .
- 【Java反射学习笔记系列之jdk动态代理】静态代理和动态代理的区别以及动态代理的作用和实现
- Cocos2d-x 实现地图滚动,解释缝隙产生的原因以及解决方案
- PHP 伪静态技术原理以及突破原理实现介绍
- vue 动态改变静态图片以及请求网络图片的实现方法
- oracle的存储过程写法以及调用,各种游标的介绍(静态,动态,sys游标的区别)
- [Win8]Windows8开发笔记(四):画刷介绍以及如何实现实现歌词动态变色显示
- Cocos2d-x 实现地图滚动,解释缝隙产生的原因以及解决方案
- PHP 伪静态技术原理以及突破原理实现介绍
- 学习逆向知识之用于游戏外挂的实现.第二讲,快速寻找植物大战僵尸阳光基址.以及动态基址跟静态基址的区别
- Cocos2d-x 实现地图滚动,解释缝隙产生的原因以及解决方案
- PHP 伪静态技术原理以及突破原理实现介绍
- 动态顺序表的代码实现以及与静态代码的区别
- 转—gcc指定库路径,头文件路径以及实现静态动态链接
- PHP 伪静态技术原理以及突破原理实现介绍
- 使用BroadCast实现进程间通信以及静态注册和动态注册广播的区别
- cocos2d-x实现文字输入框以及字符串中文字的提取