【转】COCOS2D-X之不断变化的数字效果Demo
我们在玩"天天爱消除"或"天天连萌"的时候,每玩一盘后会有一个游戏结果界面,上面有一个显示所得分数的效果.今天我们这个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. 任何个人或网站转载本文时不得移除本声明. 三、不得对文章进行修改,除非明确说明.同时欢迎大家评论转载和分享.
【转】COCOS2D-X之不断变化的数字效果Demo的更多相关文章
- 输出联系变化的数字seq
主要作用:输出联系变化的数字格式:Seq 分割符号 开始 间隔 结束开始默认是1,间隔默认是1,分隔符默认回车一位是结束,两位首末,三位首间隔末,没有四位,开始可以是负数主要参数:-f 指定格式打印- ...
- 点击单个cell高度变化的动画效果
点击单个cell高度变化的动画效果 效果 说明 1. 点击单个cell的时候,其展开与缩放动画实现起来是很麻烦的,做过相关需求的朋友一定知道其中的坑 2. 本例子只是提供了一个解决方案,为了简化操作, ...
- UICountingLabel实现数字变化的动画效果-b
在大多数金融类 app 上或者其他 app 需要数字展示的地方, 经常会有如下的动画效果: 动画效果 怎么做呢? 一.下载UICountingLabel 下载地址: https://github.co ...
- Strom实现数字累加Demo
import java.util.Map; import backtype.storm.Config; import backtype.storm.LocalCluster; import backt ...
- Android 类似未读短信图标显示数字效果的分析
之前一直以为是应用本身在对图标进行修改,看了源码之后发现其实主要的工作并不是应用自己完成的,主要的工作在是launcher里面完成的. 关于系统里面类似未读短信的具体处理流程如下, 原理 一个应用要实 ...
- Storm实现数字累加Demo
import java.util.Map; import backtype.storm.Config; import backtype.storm.LocalCluster; import backt ...
- Unity 利用Coroutine实现跳动数字效果
纯粹转载:转载注明参考链接! 参考链接:http://xataxnova.blog.163.com/blog/static/236620063201451061738122/,作者:网易博客 xata ...
- 手写数字识别---demo
数据准备 课程中获取数据的方法是从库中直接load_data from keras.datasets import mnist (x_train, y_train), (x_test, y_test) ...
- UI变化之动画效果
很多时候我们在需要动态的改变某一个场景下的显示. 最常见的一个场景就是view的最大化. 我们直接设置view的frame可以实现最大化,但是这样的最大化是突变的没有动画效果. 苹果可以将这种突变“放 ...
随机推荐
- java多态与异常处理——动手动脑
编写一个程序,此程序在运行时要求用户输入一个 整数,代表某门课的考试成绩,程序接着给出“不及格”.“及格”.“中”.“良”.“优”的结论. 要求程序必须具备足够的健壮性,不管用户输入什 么样的内容,都 ...
- ionicPopup确认对话框
$ionicPopup.confirm({ title: $rootScope.app_name, template: 'Do you want to add this to database?', ...
- Delphi XE5 android openurl(转)
直接上代码: unit OpenViewUrl; interface // URLEncode is performed on the URL// so you need to format it p ...
- adt安装慢解决
原地址:http://yuanzhifei89.iteye.com/blog/1884398 安装adt的时候不管时在线安装还是下载下来了离线安装,都不见安装进度条动,只要把一个选项勾掉立马就让进度条 ...
- Interface Serializable
public interface Serializable Serializability of a class is enabled by the class implementing the ja ...
- JSON用法简介
[JSON简介] jsoncpp 主要包含三种类型的 class:Value.Reader.Writer.jsoncpp 中所有对象.类名都在 namespace Json 中,包含 json.h 即 ...
- 【leetcode】Palindrome Number (easy)
Determine whether an integer is a palindrome. Do this without extra space. Some hints: Could negativ ...
- 一个比较全面的DJANGO_REST_FRAMEWORK的CASE
验证啊,过滤啊,hypermedia as the engine of ap‐plication state (HATEOAS)啊都有的. urls.py __author__ = 'sahara' ...
- codeforces #309 div1 B
题目啰里啰嗦说了一大堆(耐心读完题目就可以秒题了) 首先我们考虑当前置换的开头的循环节的开头 1.如果是1 1->1形成循环节 问题变成i-1的子问题 2.如果是2 1->2->1形 ...
- 【mysql的设计与优化专题(4)】表的垂直拆分和水平拆分
垂直拆分 垂直拆分是指数据表列的拆分,把一张列比较多的表拆分为多张表 通常我们按以下原则进行垂直拆分: 把不常用的字段单独放在一张表; 把text,blob等大字段拆分出来放在附表中; 经常组合查询的 ...