游戏场景中的文字分为静态文字和动态文字,在图片中的文字为静态文字,不能通过程序访问,而且无法动态修改内容,但是表现力丰富。动态文字一般需要通过程序访问,需要动态修改内容可以通过标签(Label  or   LabelAtlas)类实现

Label类

--创建Label类静态create函数常用的有如下几个:
---1 -------------
Label:createWinSystemFont(		--创建系统字体标签对象
	text  ,      --要显示的文字
	font  ,  --系统的字体名
	fontSize  ,   --字体的大小
	dimensions = size (0 , 0)  , --
	vAlignment =  TEXT_ALIGNMENT_LEFT ,   --
	vAlignment =  VERTICAL_TEXT_ALIGNMENT_TOP  --
)
---2 -------------				--创建TTF字体标签对象
Label:creatWithTTF(
	const std:string & text ,
	fontFile , 	--字体文件
	fontSize ,
)
---3 -------------				--创建TTF字体标签对象
Label:creatWithTTF(
	ttfConfig , 	--字体配置信息
	hAlignment = TEXT_ALIGNMENT_LAFT ,
	int  maxLineWidth = 0 	--可省略,标签的最大宽度
)
---4 -------------				--创建位图字体标签对象
Label:createWithBMFont (
	text , 	--位图字体文件
	hAlinment = TEXT_ALINMENT_LEFT ,
	int  maxLineWidth = 0 ,
	imageOffset  =  p ( 0,0 ) 	--可省略,在位图中的偏移量
)

实例

local layer= cc.Layer:create()
	----------      1          ----------
	local fontSystem = cc.Label:createWithSystemFont(
		"Hello World with systemfont" , "Arial" , 36)
	fontSystem:setPosition(cc.p(size.width/2 , size.height -100))
	layer:addChild(fontSystem , 1 )
	----------      2          ----------
	local fontTTF = cc.Label:createWithTTF(
		"Hello world with ttf" , "font/STLITI.ttf" , 36)
	fontTTF:setPosition(cc.p(size.width/2 , size.height - 200))
	layer:addChild(fontTTF ,1)
	----------      3          ----------
	local fontBMF = cc.Label:createWithBMFont(
		"font/bitmapFontChinese.fnt" , "Hello World with BMF")
	fontBMF:setPosition(cc.p(size.width/2 , size.height - 300))
	layer:addChild(fontBMF , 1)
	-----------------4-----------------------
	local ttfConfig = {}
	ttfConfig.fontFilePath = "font/Marker Felt.ttf"
	ttfConfig.fontSize = 32
	----------      5          ----------
	local fontWithTTF = cc.Label:createWithTTF(
		ttfConfig , "Hello World with fontWithTTF")   --通过指定的ttfConfig创建TTF字体标签
	fontWithTTF:setPosition(cc.p(size.width/2 , size.height-400))
	layer:addChild(fontWithTTF , 1 )
	----------      6          ----------
	ttfConfig.outlineSize = 4    --设置ttfConfig的描边字段
	local fontWithTTF2 = cc.Label:createWithTTF(
		ttfConfig , "Hello world with fontWithTTF2 ") --重新创建TTF字体标签
	fontWithTTF2:setPosition(cc.p(size.width/2 , size.height - 500))
	fontWithTTF2:enableShadow(cc.c4b(255,255,255,128) , cc.size(4 ,-4)) --设置标签的阴影效果
	fontWithTTF2:setColor(cc.c3b(255,0,0))  --设置标签颜色
	layer:addChild(fontWithTTF2 , 1 )
	return layer

其中的 local ttfConfig = {} 是一个声明了TTFConfig 的变量,属性如下

fontFilePath		--字体文件路径
fontSize 			--字体大小
gltphs = GLYPHCOLLECTION_DYNAMIC        --字体库类型
customGlyphs		--自定义字体库
outlineSize		--字体描边
distanceFieldEndbled	--开启距离字段字体开关

Cocos2d-x lua 游戏中的文字和标签的更多相关文章

  1. Cocos2d-x lua 游戏中的菜单(Menu)

    菜单相关类包含 菜单(Menu)类 和 菜单项( MenuItem )类 Menu类图(派生于Layer) ref <-- Node <-Layer <-- Menu MenuIte ...

  2. 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!

    [COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...

  3. lua学习:游戏中的Lua

    lua作为一种脚本语言,可以快速地开发游戏的原型.提高游戏的开发效率. 在游戏中,lua可以用来完成下面这些工作: ●编辑游戏的用户界面 ●定义.存储和管理基础游戏数据 ●管理实时游戏事件 ●创建和维 ...

  4. 如何在Cocos2D游戏中实现A*寻路算法(六)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  5. 如何在Cocos2D游戏中实现A*寻路算法(一)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  6. lua脚本在游戏中的应用

    为什么要在游戏中使用脚本语言? 要解释这个问题首先我们先来了解一下脚本语言的特性: 学习门槛低,快速上手 开发成本低,可维护性强 动态语言,灵活性高 相对于C/C++这类高复杂性.高风险的编译型语言来 ...

  7. 如何在Cocos2D游戏中实现A*寻路算法(八)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  8. 如何在Cocos2D游戏中实现A*寻路算法(四)

    大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...

  9. Lua游戏时区问题

    关于cocos2dx-lua版本中游戏时间显示问题 2015-04-19 19:07 1466人阅读 评论(0) 收藏 举报  分类: Lua(29)   cocos2d(38)  版权声明:本文为博 ...

随机推荐

  1. Hadoop平台常用配置及优化建议

    当发现作业运行效率不理想时,需要对作业执行进行性能监测,以及对作业本身.集群平台进行优化.优化后的集群可能最大化利用硬件资源,从而提高作业的执行效率.本文记录了在hadoop集群平台搭建以及作业运行过 ...

  2. 从 IClassFactory 为 CLSID 为 {00024500-0000-0000-C000-000000000046} 的 COM 组件创建实例失败,原因是出现以下错误: 8001010a解决办法

    1.在命令行中输入:dcomcnfg,会显示出“组件服务”管理器 2.打开“组件服务->计算机->我的电脑->DCOM 配置”,找到“Microsoft Word文档”,单击右键,选 ...

  3. MWeb 1.4 新功能介绍二:静态博客功能增强

    MWeb 比较有特色的是一键生成静态博客功能,然后从 MWeb 最开始规划要做静态博客生成功能时,我就希望 MWeb 的静态博客生成功能在易用的同时,还要有很强大的扩展性. 比如说能自己增加网站公告, ...

  4. [Spring常见问题]java.lang.ClassNotFoundException: org.springframework.web.context.ContextLoaderListener

    这个问题是因为部署在tomcat下的项目中没有springweb包 但是问题来了,但是我的项目中有呀,maven都引了呀,然后我就懵B啦!看到这个博客我就豁然开朗了:http://my.oschina ...

  5. gulp外挂 uglify 的使用

    1.js文件压缩 第一步:安装外挂 :  第二步:gulpfile.js 配置 : (首先看你的package.json 中有没有添加依赖,如果有 这一句,代表添加成功啦.) 输入以下代码 : var ...

  6. html 关键字设定

    <meta name="description" content="仡家油茶仡家油茶仡家油茶仡家油茶"> <meta name="k ...

  7. jQuery入门教程

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,博客地址为http://www.cnblogs.com/jasonnode/ .网站上有对应每一 ...

  8. Oracle表结构修改触发视图无法正常使用问题

    一.问题描述 当对视图使用的基表进行表结构修改后,会触发视图的无效以及编译出错问题,必须重建视图解决. 二.问题再现 1.Oracle10g环境 1.1 创建视图测试用两张基表:TestTable和T ...

  9. 原生态PHP+mysql 实现分页

    <?php/** * 数据分页 * 时间:2016-07-06 *//**1传入页码**/ $page = $_GET['p'];/**2根据页码取数据:php->mysql处理**/$h ...

  10. HBase完全分布模式安装

    假设Hadoop已经成功安装. 实验环境如下: centos 6.4 hadoop-0.20.2 hbase-0.90.5       用户名root hadoop安装目录:/root/bin/had ...