- 浏览: 1028010 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (675)
- ios (214)
- android-course (5)
- unity3d (7)
- cocos2d (36)
- html5 (3)
- game (5)
- android (42)
- java (57)
- php (12)
- 创业 (10)
- SEO (3)
- 架构 (2)
- 数据库 (3)
- 产品设计 (9)
- 操作系统 (10)
- Web前端 (11)
- 其他 (50)
- GAE (1)
- mac os (8)
- Open Source (2)
- 序列号 (10)
- C (2)
- database (2)
- 算法 (6)
- 设计模式 (1)
- photoshop (1)
- 3dmax (1)
- maya (1)
- opengl (3)
- 游戏设计 (1)
- 趋势 (1)
- cocos2d-x (4)
- shell (3)
- c++ (30)
- lua (5)
- flash (1)
- spring (3)
- mysql (4)
- Git (6)
- xmpp (1)
- cocos2dx (14)
- mac (2)
- 编程规范 (2)
- windows (1)
- linux (5)
- coocs2dx (1)
- ubuntu (2)
- aws (1)
- OPENGLES (1)
- 原画 (1)
最新评论
-
jlees:
Best mobile app testing tool pc ...
iOS + XCode 4 + GHUnit = Mobile TDD+Continuous testing -
ipanda:
楼主,能否给一个Micro CloudFoundry的虚机或者 ...
Cloud Foundry使用及开发向导 -
love_zongming:
谢谢分享。。
visio2007序列号 -
雨花台舞水:
你这才是枪文把
套在 360 黑匣子外面的黑盒子:你被技术型枪稿吓到了么? -
hugh.wang:
改天试试
Mac版魔兽争霸3 1.24e下载
最近在逛论坛的时候看到有的帖子说显示文本时用 CCLabelTTF 不是很好,且推荐游戏中最好别用。于是网上查了查相关资料,整理了下 ,顺便也分享下
在 cocos2d 中有三个类可以在层或精灵中添加文字:
- CCLabelTTF
- CCLabelBMFont
- CCLabelAtlas
CCLabelTTF
CCLabelTTF 每次调用 setString (即改变文字)的时候,一个新的OPENGL 纹理将会被创建.。这意味着setString 和创建一个新的标签一样慢。
所以,当你需要频繁的更新它们的时候,尽可能的不用去使用标签对象。 而应该使用CCLabelAtlas或者是CCLabelBMFont。
OK, 看下它的使用方法
CCLabelTTF *label = [CCLabelTTF labelWithString:@"the string" fontName:@"Marker Felt" fontSize:21];
[layer addChild:label];
label.position = ccp(100,100);
[label setString:@“change string”]; //修改文字的方法
这个类使用的是系统中的字体,不需要额外往项目文件中添加字体文件。但如果你有自定义的字体也可以加到项目中,如果无法使用,可以查看一下ccConfig.h中的CC_FONT_LABEL_SUPPORT是否enable了。
CCLabelBMFont
CCLabelBMFont 相当于每次改变只改变了图片坐标,而CCLabelTTF要重新渲染.这个类使用之前,需要添加好字体文件,包括一个图片文件 (**.png) 和一个 字体坐标文件 (**.fnt)。
在 cocos2d的示例项目中有现成的,可以先拿过来练习一下,找的时候注意两个文件的 名称是相同的,只是扩展名不同。
CCLabelBMFont *label =[CCLabelBMFont labelWithString:@"the string" fntFile:@"konqa32-hd.fnt"];
[layer addChild:label];
label.position = ccp(100,100);
[label setString:@“change string”];
fntFile是文件名,写扩展名是 .fnt的那个。下面是 .fnt文件的截图
可以看到 .fnt 文件定义了 图像文件的名称,以及每个字符对应的位置信息。
这个没办法指定字体的字号,但可以用 scale 属性进行缩放来调整大小。就当它是sprite。
CCLabelAtlas
如果你用cocos2d项目模板创建过项目,那么你已经看过它的效果了,就是左下角显示帧率的数字。
因为帧率一直在变,使用CCLabelTTF的话效率太低,因为只是数字所以也犯不上使用 CCLabelBMFont 加载那么大的文字图像,所以使用这个比较合适。
CCLabelAtlas *label = [CCLabelAtlas labelWithString:@"12" charMapFile:@"fps_images.png" itemWidth:12 itemHeight:18 startCharMap:'.'];
[layer addChild:label];
label.position = ccp(100,100);
[label setString:@“34”];
在项目文件中,在resourse group里你可以找一下一个叫 fps_images.png的这个图像文件,文件如下:
所以,这个只能显示上面这个12个字符,abcd什么的就不行了。
解释一下参数,
labelWithString就是字符,
charMapFile 就是字符的图像文件(这个只要图像文件就可以了),
itemWidth是每个字符的宽度,
itemHeight是每个字符的高度,这个不能设错,否则显示的时候可能就不对了。
最后一个是起始字符,它是使用这个其实字符来对应字符和图像关系的。
发表评论
-
Mac上安装Protocol Buffers
2016-09-18 11:29 8131.下载文件 (http://code.google.com ... -
webview点击获取图片
2016-04-01 17:12 822UILongPressGestureRecognizer * ... -
hexo 自动部署脚步
2016-03-29 21:17 927echo "===============star ... -
自定义navigationItem.leftBarButtonItem后,系统默认的手势滑动失效解决方案
2016-03-01 18:01 1275自定义navigationItem.le ... -
UITextView autolayout 高度自适应
2016-02-15 23:26 1404UITextView *t = [[UITextView ... -
腾讯敏捷框架TAPD》研究
2015-11-19 20:47 1416这篇文档是研究心得 ... -
ios image 压缩
2015-11-06 12:09 832- (UIImage *)_scaleToSize:(UII ... -
iphone分辨率图解
2015-11-04 17:33 549iphone分辨率图解 -
IOS中获取各种文件的目录路径的方法
2015-09-24 12:10 642iphone沙箱模型的有四个文件夹,分别是什么,永久数据存储 ... -
Customizing Navigation Bar and Status Bar in iOS 7
2015-08-17 20:23 1600Like many of you, I have been ... -
GCD 深入理解:第一部分
2015-07-24 14:49 763本文翻译自 http://www.raywenderlich ... -
Mac上的抓包工具Charles
2015-05-06 01:09 5313Mac上的抓包工具Charles 分类: IO ... -
如何移除发布版本中的NSLog输出
2015-05-04 20:27 741Phone开发中会经常使用NSLog将一些运行信息输出到终端 ... -
xcode4的环境变量,Build Settings参数,workspace及联编设置
2015-03-27 11:23 920一、xcode4中的环境变量 $(BUILT_PROD ... -
数字签名是什么?
2014-11-25 16:58 610http://www.ruanyifeng.com/blog/ ... -
让你的Xcode更加高效
2014-10-29 00:16 511http://www.tairan.com/archives/ ... -
我所经历的“余额宝”的那些故事
2014-06-08 01:05 749“余额宝”经过不到 ... -
代码手写UI,xib和StoryBoard间的博弈,以及Interface Builder的一些小技巧
2014-05-31 01:25 790最近接触了几个刚入门的iOS学习者,他们之中存在一个普遍 ... -
WWDC 2013 Session笔记 - iOS7中的多任务
2014-05-31 01:24 658这是我的WWDC2013系列笔记中的一篇,完整的笔记列表 ... -
Protect your game assets (currently Cocos2D only)
2014-05-20 15:54 920Creating a game is hard work ...
相关推荐
综上所述,要解决cocos2d-x中显示中文的问题,主要涉及正确设置编码、提供支持中文的字体、配置渲染方式以及处理本地化。通过这些步骤,你应该能够在你的cocos2d-x游戏中看到清晰的中文字符。如果还有问题,可能需要...
该章节将深入讨论Cocos2d中游戏构建块的概念,例如精灵(Sprite)的使用和管理,以及如何使用Cocos2d提供的各种节点和组件来构建游戏界面和交互元素。 6. 精灵深入解析 精灵是Cocos2d游戏中的基本视觉元素,本章节...
Cocos2d-x中的文字描边主要依赖于`Label`类,这是引擎用于显示文本的基础组件。为了实现描边,我们需要对`Label`进行扩展,创建一个新的类,例如`StrokeLabel`,并在其中添加描边相关的属性和方法。这些属性可能包括...
在Cocos2d-x游戏开发框架中,滚动文字是一个常见的需求,例如用于显示游戏得分、提示信息等。本文将深入探讨如何使用tinyxml解析XML数据,结合Cocos2d-x的Label类和CCRenderTexture来实现滚动文字效果。 首先,tiny...
cocos2d-x中的原始Menu类提供了一些基本的方法,如`create()`用于创建一个新的菜单,`addChild()`用于添加子节点,也就是菜单项,`alignItemsVertically()`和`alignItemsHorizontally()`则用于排列菜单项,使它们在...
【cocos2d-x游戏源码】是一种基于C++的开源跨平台2D游戏开发框架,广泛用于开发手机游戏和桌面游戏。Cocos2d-x是Cocos2d-x项目的一部分,Cocos2d-x项目还包括Cocos2d-iphone、Cocos2d-html5等不同版本,适用于iOS、...
Cocos2d-x是一个基于C++的开源2D游戏开发框架,其默认编码可能与Windows系统或项目中的文本文件编码不一致,因此需要进行转码处理来正确显示中文汉字。本文将深入探讨如何在Cocos2d-x中处理中文转码问题。 首先,...
在Cocos2d-x这个强大的2D游戏开发框架中,绘制多颜色字符串是一个常见的需求,尤其是在制作游戏界面或者实现复杂的文字特效时。标题"“cocos2d-x绘制多种颜色字符串”"涉及到的关键技术点主要集中在如何在Cocos2d-x...
在描述中提到的“很简陋的排行榜”,可能是指使用cocos2d-js 实现的一个基础的排行榜系统,虽然功能简单,但足以理解其基本原理和操作。 在构建排行榜系统时,首先我们需要了解cocos2d-js 的核心组件和功能。cocos...
1. **标签(Label)类的扩展**:在cocos2d-x中,LabelTTF类是用于显示单行或多行文本的基本组件。为了支持富文本,我们需要扩展这个类,比如创建一个名为RichLabel的自定义类。这个类会处理复杂的文本格式,解析特定...
6. 脚本语言支持:除了C++,cocos2d-x还支持Lua和JavaScript,这两种脚本语言都可以用于编写游戏逻辑,且更易学习和调试。在“HelloWorldTouch”中,你可能看到如何用这些脚本语言来处理触摸事件和更新游戏状态。 7...
在本文中,我们将深入探讨如何使用Cocos2d框架开发一款找茬游戏。Cocos2d是一款广泛应用于2D游戏开发的开源引擎,它提供了丰富的功能和高效的性能,使得开发者可以轻松创建各种类型的游戏,包括找茬游戏。 找茬游戏...
### cocos2d-x 权威指南(高清) —— 关键知识点提炼 #### 一、Cocos2D-x概述 - **定义与特点**:Cocos2D-x是一款开源的游戏开发框架,支持跨平台开发,可以用于创建2D游戏、演示程序和其他图形界面交互应用。该...
在这个例子中,我们将学习如何创建一个基本的场景、如何添加文字标签以及如何切换场景等基础操作。通过这个简单的示例,我们可以熟悉cocos2d-iphone的基本工作流程。 #### 六、类库的主工程 Cocos2D-iPhone的主...
在Cocos2D-X中,菜单(Menu)类是游戏界面交互的重要组成部分,用于创建可点击的按钮集合,通常包含各种选项或功能触发器。本篇将深入探讨Cocos2D-X中的菜单类及其使用方法。 一、菜单类的基本概念 在Cocos2D-X中...
滚动字幕通常是指在游戏中以滚动的方式显示文字信息,它可以是从左到右、从右到左、从上到下或从下到上滚动。在cocos2d-x中,可以使用Label类来创建文字对象,并结合动作类(如MoveBy、MoveTo)来实现滚动效果。首先...
`CCScrollView`内部包含一个可滚动的容器,你可以向其中添加任何你想显示的Cocos2D对象。 Cocos2D-X的UI系统也支持触摸事件的处理。通过注册`CCTouchDelegate`,你可以监听和响应用户的触摸操作,为UI元素添加交互...
在Cocos2d-x中,`.fnt`文件是一种字体配置文件,它存储了位图字体的相关信息,包括字符集、大小、位置等,以便在游戏中渲染文本。这种格式是由AngelCode的BMFont工具生成的,它可以将TrueType字体转换为适用于Cocos...
在2.2.0版本中,Cocos2d-x提供了CCEditBox类来实现这个功能,它允许用户在游戏或应用中输入文字,常见于登录界面、设置选项或者游戏内的聊天系统。点九图(.9.png)是Android平台中常用的一种图片资源格式,可以...
在cocos2d-x游戏开发框架中,滚动文字(CCLabelTTF)是常见的文本动画效果,用于展示动态更新或循环播放的文本信息。本文将深入探讨如何利用`labelWithString`和`setTextureRect`方法来实现文字滚动,并解决可能遇到...