《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)。
你也可以向文本字体添加阴影与描边。在把文本添加到场景之后,紧接着添加如下代码:
//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。
《Cocos2d 跨平台游戏开发指南(第2版)》一导读 自从2007年创始以来,Apple App Store一直保持着持续增长的势头,每天平均约有500个App提交。其中,大约80%的App是游戏。形成这种局面的部分原因是Apple构建了一个非常棒的生态系统,免费提供操作系统和IDE开发环境,便于普通开发者接触并使用它们。
异步社区 异步社区(www.epubit.com)是人民邮电出版社旗下IT专业图书旗舰社区,也是国内领先的IT专业图书社区,致力于优质学习内容的出版和分享,实现了纸书电子书的同步上架,于2015年8月上线运营。公众号【异步图书】,每日赠送异步新书。
相关文章
- (NO.00001)iOS游戏SpeedBoy Lite成形记(十)
- Unity3D游戏UI开发经验谈
- iOS开发必备指南合集之游戏接入GameCenter 指南
- Unity3d 显示IOS基本的游戏中心脚本
- Cocos2d-x 酷跑游戏例子
- 提取Unity游戏资源和脚本
- Java实现 蓝桥杯 算法提高 转圈游戏(暴力快速幂)
- 【IOS-COCOS2D游戏开发之一】搭建COCOS2D游戏引擎环境HELLOWORLD!
- 【IOS-COCOS2D游戏开发之十二】浅析使用C++/C/OC进行IOS游戏混编出现“FAILED WITH EXIT”问题与小结;
- 【IOS开发必备指南合集】申请企业级IDP、真机调试、游戏接入GAMECENTER 指南(实现仿官方的成就提示框)、游戏接入OPENFEINT指南;
- 【IOS-COCOS2D-X 游戏开发之十一】NEW CCSPRITE()带来的错误&使用CCUSERDEFAULT及PVR.CCZ在COCOS2DX中要注意!
- 【COCOS2D-X(2.X) 游戏开发系列之一】COCOS2DX(V2.X)与(V1.X)的一些常用函数区别讲解!在2.X版CCFILEDATA类被去除等
- 【COCOS2D-X(2.X) 游戏开发系列之二】COCOS2DX最新2.X版本跨平台整合NDK+XCODE,XCODE编写&编译代码,ANDROID导入打包运行即可!
- 【UNITY3D 游戏开发之八】UNITY编译到IPHONE运行 COLLIDER 无法正常触发事件解决方案
- 【UNREAL ENGINE 游戏开发】开篇之为什么现在就要抱紧UE的大腿!(另附学习资料/交流群)
- 程序员的算法趣题Q02: 四则运算组合游戏
- [cocos2d-x]移动平台游戏开发(图)
- 【python游戏】新的一年快来变身兔兔战士打败獾守护兔兔吧~
- 手把手教你实战开发黑白棋实时对战游戏
- 游戏开发常遇到数据一致性BUG,怎么解?
- 13、Cocos2dx 3.0游戏开发找小三之3.0中的Director :郝萌主,一统江湖
- cocos2dx游戏开发学习笔记2-从helloworld開始
- 列举游戏开发过程中的一些不良现象
- cocos2d 游戏开发:Cocos2d v3 "hello world"+显示飞船
- 3D游戏从入门到精通-21
- 3D游戏从入门到精通-12
- 游戏制作之路(17)模拟子弹的杀伤力
- cocos2dx游戏开发——微信打飞机学习笔记(二)——游戏框架