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码的顺序排列。





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


比如,上例中:


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


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


你可能感兴趣的:(CCLabelAtlas-显示自定义字体的文本-Cocos2d)