Cocos2dx读取文本显示

2015年01月20日 11:11 0 点赞 0 评论 更新于 2017-05-09 11:13

这篇文章主要介绍Cocos2dx中读取文本并显示的三种方式,分别是CCLabelAtlasCCLabelBMFontCCLabelTTF。下面我们详细了解一下。

一、CCLabelAtlas 显示图片中的数字或文本

CCLabelAtlas可用于显示图片中的数字或文本。以下是具体的使用示例:

CCLabelAtlas * label = CCLabelAtlas::labelWithString("0", "数字图片", 24, 30, ' ');
label->setString("124");

在上述代码中,labelWithString方法的第一个参数是初始显示的字符串,第二个参数是数字图片的路径,第三个参数是每个字符的宽度,第四个参数是每个字符的高度,第五个参数是起始字符。之后通过setString方法可以更改显示的字符串。

二、CCLabelBMFont 显示Bitmap图片中的字体

CCLabelBMFont用于显示Bitmap图片中的字体。示例代码如下:

CCLabelBMFont * label = CCLabelBMFont::labelWithString("http://blog.linguofeng.com", "生成的fnt文件");
// 另一种重载形式:CCLabelBMFont::labelWithString("abc", "fnt", CCTextAlignment[Center, Left, Right], width);
label->setString("hello"); // 设置显示的文本,显示文本时加"\n"可实现换行
label->setColor(ccc3(125, 15, 100)); // 设置显示的颜色
CCSprite * c1 = (CCSprite*)label->getChildByTag(1);
// 得到的c1是"e"的一个精灵,可以对它做任何操作,比如添加动画效果

在这个示例中,labelWithString方法的第一个参数是要显示的字符串,第二个参数是生成的fnt文件路径。setString方法用于更改显示的文本,setColor方法用于设置文本的颜色。通过getChildByTag方法可以获取特定位置字符对应的精灵,进而对其进行更多操作。

三、CCLabelTTF 显示ttf字体

CCLabelTTF用于显示ttf字体。示例代码如下:

// 文本        大小         方向                字体名称                字体大小
CCLabelTTF * label = CCLabelTTF::labelWithString("hello", CCSizeMake, CCTextAlignment, "Monaco_Linux.TTF", 24);
label->setString("文本");

这里labelWithString方法的参数依次为要显示的文本、文本区域的大小(使用CCSizeMake来指定)、文本的对齐方式(CCTextAlignment)、字体名称和字体大小。之后可以使用setString方法更改显示的文本。

综上所述,在Cocos2dx中根据不同的需求可以选择合适的文本显示方式。CCLabelAtlas适用于显示图片中的数字或特定文本,CCLabelBMFont适合显示Bitmap字体,而CCLabelTTF则用于显示ttf字体。

作者信息

feifeila

feifeila

共发布了 570 篇文章