我们都知道在cocos2dx中,设置字符使用的是CCLabelAtlas,但是cocos2dx 如何获取字符宽度的,我们不经常用的话可能的不是很清楚,那现在就看一cocos2dx 获取字符宽度是如何实现的。
如下代码:
CCLabelAtlas
CCLabelAtlas *label = (CCLabelAtlas labelWithString:@"the string"
charMapFile:@"fps_images.png"
itemWidth:12
itemHeight:18
startCharMap:'.');
(layer addChild:labe); label.position =
......  // (label setString:@“change string”);
如果你用cocos2d项目模板创建过项目,那么你已经看过它的效果了,就是左下角显示帧率的数字。因为帧率一直在变,使用CCLabelTTF的话效率太低,因为只是数字所以也犯不上使用 CCLabelBMFont 加载那么大的文字图像,所以使用这个比较合适。

在项目文件中,在resourse group里你可以找一下一个叫 fps_images.png的这个图像文件,文件如下:

cocos2dx 获得字符宽度

cocos2dx 如何获取字符宽度
所以,这个只能显示上面这个12个字符,abcd什么的就不行了。
解释一下参数:
labelWithString就是字符, charMapFile 就是字符的图像文件(这个只要图像文件就可以了),itemWidth是每个字符的宽度,itemHeight是每个字符的高度,这个不能设错,否则显示的时候可能就不对了。 最后一个是起始字符,它是使用这个其实字符来对应字符和图像关系的。