Cocos2d-x lua 游戏中的文字和标签
游戏场景中的文字分为静态文字和动态文字,在图片中的文字为静态文字,不能通过程序访问,而且无法动态修改内容,但是表现力丰富。动态文字一般需要通过程序访问,需要动态修改内容可以通过标签(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 游戏中的文字和标签的更多相关文章
- Cocos2d-x lua 游戏中的菜单(Menu)
菜单相关类包含 菜单(Menu)类 和 菜单项( MenuItem )类 Menu类图(派生于Layer) ref <-- Node <-Layer <-- Menu MenuIte ...
- 【COCOS2DX-LUA 脚本开发之一】在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途!
[COCOS2DX-LUA 脚本开发之一]在Cocos2dX游戏中使用Lua脚本进行游戏开发(基础篇)并介绍脚本在游戏中详细用途! 分类: [Cocos2dx Lua 脚本开发 ] 2012-04-1 ...
- lua学习:游戏中的Lua
lua作为一种脚本语言,可以快速地开发游戏的原型.提高游戏的开发效率. 在游戏中,lua可以用来完成下面这些工作: ●编辑游戏的用户界面 ●定义.存储和管理基础游戏数据 ●管理实时游戏事件 ●创建和维 ...
- 如何在Cocos2D游戏中实现A*寻路算法(六)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- 如何在Cocos2D游戏中实现A*寻路算法(一)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- lua脚本在游戏中的应用
为什么要在游戏中使用脚本语言? 要解释这个问题首先我们先来了解一下脚本语言的特性: 学习门槛低,快速上手 开发成本低,可维护性强 动态语言,灵活性高 相对于C/C++这类高复杂性.高风险的编译型语言来 ...
- 如何在Cocos2D游戏中实现A*寻路算法(八)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- 如何在Cocos2D游戏中实现A*寻路算法(四)
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请告诉我,如果觉得不错请多多支持点赞.谢谢! hopy ;) 免责申明:本博客提供的所有翻译文章原稿均来自互联网,仅供学习交流 ...
- Lua游戏时区问题
关于cocos2dx-lua版本中游戏时间显示问题 2015-04-19 19:07 1466人阅读 评论(0) 收藏 举报 分类: Lua(29) cocos2d(38) 版权声明:本文为博 ...
随机推荐
- 快速查找和你聊天人的IP和具体的物理所在地址
附言 : 对于中秋佳节没有回家也没有外出的我,亦然选择闭关.本来是打算把这个公众号作为测试号的.但是发现这个号已经有注册有一年多了,怪可惜的!所以就用来发些教程图文,供给大家共同学习,也对自己进行不定 ...
- Windows Phone 一、XAML基础语法
XAML的命名空间 命名空间格式:语法结构为“xmlns:”+“命名空间前缀名”,默认命名空间无需定义命名空间前缀名“xmlns” 命名空间的声明 <Page x:Class="App ...
- CentOs中yum安装LAMP+PHPMYADMIN
对于租用以及VPS,提供在Linux安装LAMP(Linux+Apache+mysql+PHP),对于这个组件,不做过多的解释,网上很多这方面的资料.下面只介绍一种安装方法,作为以后使用的一个简单文档 ...
- 电脑安装Android4.0虚拟机的做法
在开始教程之前,先给大家展示一下成功运行Android 4.0虚拟机的界面,经过笔者测试,体验很流畅,喜欢DIY和对开发感兴趣的朋友们可以猛击下一页,继续浏览教程. 准备工作 在体验前我们首先要下载J ...
- rails再体验(第一个程序)
掌握redmine plugin开发的目标在2016年未实现,2017年继续. 选择<Ruby on Rails Tutorial>教程,windows安装railsinstaller,该 ...
- Oracle学习笔记(1)----忘记用户名的密码该如何找回
(1)在连接数据库之前需要打开如下服务: (2)如果忘记用户的密码 I:打开cmd窗口 II:键入命令:connect / as sysdba; III:alter user 用户名 identifi ...
- leftBarbuttonItem/rightBarButtonItem和leftBarbuttonItems/rightBarButtonItems相关问题
仿写项目的时候,出现了一个Bug:点击右边的"编辑","编辑"变为"完成",左侧出现"全选","删除" ...
- [OSG]矩阵运算
我们都知道,OpenGL规定矩阵使用列主序存储,即glLoadMatrix等函数要求输入的数组是按列主序存储的矩阵.然而,一个很奇怪的事实是,OSG中矩阵存储是使用的标准C二维数组(行主序),并且也是 ...
- mybatis使用generator生成对应的model、mapping配置文件、dao
http://blog.csdn.net/fengshizty/article/details/43086833 使用时 补充 输入命令:cd d:\generator 敲回车 再输入命令:d: 敲 ...
- 2016湖大校赛 L题 The Sequence likes Ladder
题意:S1=a,Sn=a*(Sn-1)^k%m,且有(a,m)=1,给出i,求Si. 思路:首先我们可以写出Sn的通项a^(1+k+k^2+...k^n-1);其次注意到m的范围是10000以内,所以 ...