CCLabelAtlas-显示自定义字体的文本-Cocos2d

http://blog.sina.com.cn/s/blog_7b9d64af0101f3ky.html


Cocos2d中,很想创建自己的字体效果(想图片一样,带火焰效果,锯齿效果等等,美工做出来的图的字体效果)!并且显示出来。


那么,可以使用CCLabelAtlas来帮助我们来完成这项工作!


先贴代码:


 //    使用CCLabelAtlas来创建label对象

CCLabelAtlas *label = [CCLabelAtlas labelWithString:@"Text"

                                     charMapFile:@"tuffy_bold_italic-charmap.png"

                                      itemWidth:48

                                      itemHeight:64

                                      startCharMap:32];在Cocos2d中,很想创建自己的字体效果(想图片一样,带火焰效果,锯齿效果等等,美工做出来的图的字体效果)!并且显示出来。


那么,可以使用CCLabelAtlas来帮助我们来完成这项工作!


先贴代码:


 //    使用CCLabelAtlas来创建label对象
CCLabelAtlas *label = [CCLabelAtlas labelWithString:@"Text"
                                     charMapFile:@"tuffy_bold_italic-charmap.png"
                                      itemWidth:48
                                      itemHeight:64
                                      startCharMap:32];




1.CCLabelAtlas类与CCLabelTTF类的区别


1. CCLabelAtlas渲染速度要快于CCLabelTTF。
2. CCLabelAtlas字符宽度和高度都是固定的,因为是基于图片的。
3. CCLabelAtlas字符可以是任意形式的,因为是基于图片的。


2. CCLabelAtlas的显示原理


CCLabelAtlas *label = [CCLabelAtlas labelWithString:@"Text"
                                     charMapFile:@"tuffy_bold_italic-charmap.png"
                                      itemWidth:48
                                      itemHeight:64
                                      startCharMap:32];


参数说明:
labelWithString:我们要设置的文本字体。
charMapFile:关联的字符集的图片。
itemWidth:每一字符图片占用的宽度px。
itemHeight:每个字符图片占用的高度px
startCharMap:图片开始的字符的ASCII码。




每个CCLabelAtlas关联一个图片,图片按照ASCII码的顺序排列。


CCLabelAtlas-显示自定义字体的文本-Cocos2d




startCharMap开始指定了开始字符的ASCII码,并且根据itemWidth和itemHeight来顺序排列各个字符的顺序。


比如,上例中:


开始ASCII码为32,为空格。ASCII码为34的就是“!”号。根据itemWidth和itemHeight将得到图片的不同区域小块来代表相应的字符。


在显示字符阶段,将labelWithString参数的值(即:要显示的文本)进行遍历,每个字符都转化为相应的ASCII码,并且,匹配各个图片小块,来显示。



1.CCLabelAtlas类与CCLabelTTF类的区别


1. CCLabelAtlas渲染速度要快于CCLabelTTF

2. CCLabelAtlas字符宽度和高度都是固定的,因为是基于图片的。

3. CCLabelAtlas字符可以是任意形式的,因为是基于图片的。


2. CCLabelAtlas的显示原理


CCLabelAtlas *label = [CCLabelAtlas labelWithString:@"Text"

                                     charMapFile:@"tuffy_bold_italic-charmap.png"

                                      itemWidth:48

                                      itemHeight:64

                                      startCharMap:32];


参数说明:

labelWithString:我们要设置的文本字体。

charMapFile:关联的字符集的图片。

itemWidth:每一字符图片占用的宽度px

itemHeight:每个字符图片占用的高度px

startCharMap:图片开始的字符的ASCII码。



每个CCLabelAtlas关联一个图片,图片按照ASCII码的顺序排列。


CCLabelAtlas-显示自定义字体的文本-Cocos2d


startCharMap开始指定了开始字符的ASCII码,并且根据itemWidthitemHeight来顺序排列各个字符的顺序。


比如,上例中:


开始ASCII码为32,为空格。ASCII码为34的就是“!”号。根据itemWidthitemHeight将得到图片的不同区域小块来代表相应的字符。


在显示字符阶段,将labelWithString参数的值(即:要显示的文本)进行遍历,每个字符都转化为相应的ASCII码,并且,匹配各个图片小块,来显示。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值