我们在玩手机游戏的时候总会有分数显示,随着我们成绩越来越好,分数也不断变化,这个效果要如何实现呢?本篇教程将为同学们揭秘Cocos2d-x显示分数与分数变化如何实现。
在cocos2d中,我们大多时间需要对时间或者是所取得的分数进行显示,比如得到了一定的奖励之后,会对分数有所增加。显示必须有一个分数的png的Sprite源图片,除此之外,还需要有一个fnt文件,对里面分数的位置进行标识。
1。一个png源
这不用说了,一张图片上比如,依次显示0123456789
2。fnt文件
名字和图片名字一致,扩展名不同 info face="EurostileBold" size=32 bold=1 italic=0 charset="" unicode=0 stretchH=100 smooth=1 aa=1 padding=0,0,0,0 spacing=1,1
3。分数的读取显示
以下是0。8版本cocos2d的方式,
BitmapFontAtlas *scoreLabel = [BitmapFontAtlas bitmapFontAtlasWithString:@"0" fntFile:@"bitmapFont.fnt"];
[self addChild:scoreLabel z:5 tag:kScoreLabel];
scoreLabel.position = ccp(160,430);
简单说明:读取bitmapFont的fnt初始化,而不是用Sprite的方式,加到self的manager里面,z轴层次是5,加一个tag算是ID的标识吧。然后把分数初始化到屏幕的某一个位置上。
接下来这一段是关注于如何变化的:
首先是一个bonus,顾名思义,一个奖励的初始化,比如是一个金币。
1。把得到的分数转换成String类型。
2。通过getByTag的方式,得到刚才初始化过的那个分数。
3。给显示分数的那个Label设置当前分数。
4。a1,a2,a3算是实现了分数的滚动,改变过程中的时差,显得不是很突兀。
本文摘自http://www.cnblogs.com/AlexLiu/archive/2010/01/24/1655160.html,并不代表本站立场观点。
¥98.00
¥108.00
¥698.00
¥98.00