【转】COCOS2D-X之不断变化的数字效果Demo
2024-09-02 02:53:48
我们在玩"天天爱消除"或"天天连萌"的时候,每玩一盘后会有一个游戏结果界面,上面有一个显示所得分数的效果.今天我们这个Demo就是要实现与之相近的效果.
一、我们直接在COCOS2D-X自带的HelloCpp的工程中添加代码即可.我们在初始化中添加如下代码:
- CCSize szWin = CCDirector::sharedDirector()->getVisibleSize();
- CCLabelAtlas *pNumLabl = CCLabelAtlas::create("0123456789", "fonts/fonts.plist");//这里是图字的Plist文件
- addChild(pNumLabl,0,1000);
- pNumLabl->setPosition(ccp(szWin.width/2-200,szWin.height/2));
- schedule(schedule_selector(HelloWorld::step));//定时器
二、然后我们需要实现一个定时器所调用的函数.代码如下:
- void HelloWorld::step(float Dt)
- {
- static int nDelta = 0;//注意这个静态局部变量只会初始化一次
- nDelta += 11; //注意此处未做溢出处理.对具体情况做对应处理
- char StringOfNum[20];
- sprintf(StringOfNum,"%03d",nDelta);
- CCLabelAtlas* pNumLabl = static_cast<CCLabelAtlas *>(getChildByTag(1000));
- pNumLabl->setString(StringOfNum);
- }
三、补充说明
①、在创建CCLabelAtlas对象的时候,我们传递的是图字的Plist文件,此处不能直接将fonts.plist文件放在Resource文件夹下.必须是这样的路径:resource/XXX/fonts.plist.原因如下:
- bool CCLabelAtlas::initWithString(const char *theString, const char *fntFile)
- {
- std::string pathStr = CCFileUtils::sharedFileUtils()->fullPathForFilename(fntFile);
- std::string relPathStr = pathStr.substr(0, pathStr.find_last_of("/"))+"/"; //COCOS2D-X并木有对此处未找到"/"的情况做相应处理
- ************************************省略的代码************************************
- }
②、程序中所涉及的图字文件下载链接http://t.cn/z863wnj
PS:因为是基础学习,故不作过多分析.后继会有更多精彩内容,敬请大家关注
本人郑重声明如下 一、本文来自CSDN博客,本文地址http://t.cn/z863ASQ 二、All Rights Reserved. 任何个人或网站转载本文时不得移除本声明. 三、不得对文章进行修改,除非明确说明.同时欢迎大家评论转载和分享.
最新文章
- ubuntu 14.04安装pypcap
- java目录与classpath
- xcode 工具学习笔记
- Android开发之ViewPager的简单使用
- 【wikioi】1026 逃跑的拉尔夫
- FG模型
- iOS企业应用Profile制作流程
- 关于Git远程版本库
- plot函数功能总结
- ASP.NET中扩展FileUpload的上传文件的容量
- Color the Fence
- Android AsynTask更新主界面
- (asp.net MVC学习)System.Web.Mvc.UrlHelper的学习与使用
- Android线程之异步消息处理机制(一)
- ANDROID 开发,安装离线安装包的下载地址及安装方法。
- Android基础知识笔记01—框架结构与四大组件
- [SQL]LeetCode178. 分数排名 | Rank Scores
- 如何避免OOM
- Quartz.Net进阶之三:SimpleTrigger详述
- 阿里创新自动化测试工具平台--Doom