《Cocos2d 跨平台游戏开发指南(第2版)》一2.3 使用CCLabel添加文本

简介:

本节书摘来异步社区《Cocos2d 跨平台游戏开发指南(第2版)》一书中的第2章,第2.1节,作者: 【印度】Siddharth Shekar(谢卡)译者: 武传海 责编: 胡俊英,更多章节内容可以访问云栖社区“异步社区”公众号查看。

2.3 使用CCLabel添加文本

在这一部分,我们将学习如何向场景中添加文本。在Cocos2d中,有两种方法可以用来向场景中添加文本:一种是使用CCLabelTTF类,另一种是使用CCLabelBMFont类。我们将在本书第9章的Glyph Designer一节中讲解CCLabelBMFont,本部分我们只讲解CCLabels,了解一下它们是如何工作的。

2.3.1 准备工作

CCLabelTTF使用Mac系统中现有的系统字体。在使用CCLabelTTF类时,我们只需指定要使用的字体名称、希望显示的文本以及字体大小,就能轻松地以指定的字体、大小显示给出的文本。

请注意,有些字体虽然已经安装到系统中,但是仍然无法在游戏中使用。这是因为Cocos2d只支持一部分系统字体。如果你想添加列表中没有的系统字体,就需要手动添加它。

2.3.2 操作步骤

添加好背景图像之后,紧接着添加如下代码:

CCLabelTTF *mainmenuLabel =
  [CCLabelTTF labelWithString:@"Main Menu"
  fontName:@"AmericanTypewriter-Bold"
  fontSize: 36.0f];

mainmenuLabel.position =
  CGPointMake(winSize.width/2,
  winSize.height * 0.8);
[self addChild:mainmenuLabel];

在上述代码中,我们先创建了一个CCLabelTTF类型的mainmenuLabel变量,调用labelWithString函数,并传入3个参数,分别是要显示的文本、字体名称以及字体大小。

然后,设置文本位置,横坐标为宽度的一半,纵坐标是高度的80%(从屏幕底部算起),所以给定的文本最终出现在整个屏幕中间偏上的位置上。

最后,我们把mainmenuLabel添加到场景之中。

在示例代码中,我们使用了AmericanTypeWriter-Bold字体。完整的字体列表可以在SpriteBuilder.app的FontListTTF.plist文件中找到,在我们程序文件中的具体位置为/Applications/SpriteBuilder.app/Contents/Resources/FontListTTF.plist。

2.3.3 工作原理

CCLabelTTF的工作方式类似于精灵,你可以修改它的位置或旋转它,甚至对它进行缩放操作(见图2-2)。


2_2

2.3.4 更多内容

你也可以向文本字体添加阴影与描边。在把文本添加到场景之后,紧接着添加如下代码:

//adding shadow

mainmenuLabel.shadowColor =
  [CCColor colorWithRed:0.0 green:0.0 blue:1.0];
mainmenuLabel.shadowOffset = ccp(1.0, 1.0);
//adding outline
mainmenuLabel.outlineColor =
  [CCColor colorWithRed:1.0 green:0.0 blue:0.0];

mainmenuLabel.outlineWidth = 2.0;

阴影颜色属性用来为阴影添加颜色,在示例代码中,我们使用阴影颜色属性把阴影设置为蓝色。此外,我们还需要设置阴影偏移,否则阴影将会被文本覆盖掉而变得不可见。

类似地,描边颜色属性(outlineColor)用来设置文本描边颜色(见图2-3),描边粗细属性(outlineWidth)用来设置文本轮廓线的粗细,默认值为1.0f。


2_3

相关文章
|
Android开发 开发者 iOS开发
《Cocos2d 跨平台游戏开发指南(第2版)》一导读
自从2007年创始以来,Apple App Store一直保持着持续增长的势头,每天平均约有500个App提交。其中,大约80%的App是游戏。形成这种局面的部分原因是Apple构建了一个非常棒的生态系统,免费提供操作系统和IDE开发环境,便于普通开发者接触并使用它们。
1561 0

热门文章

最新文章