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) 版权声明:本文为博 ...
随机推荐
- NOI 1.5 42:画矩形
描述 根据参数,画出矩形. 输入 输入一行,包括四个参数:前两个参数为整数,依次代表矩形的高和宽(高不少于3行不多于10行,宽不少于5列不多于10列):第三个参数是一个字符,表示用来画图的矩形符号:第 ...
- Android 音量调节
对于Android的音量调节,可以分为按键调节音量和设置中调节音量.我们首先说一说设置中的音量调节. 一.音量的分类: 1.AudioManager.STREAM_VOICE_CALL 2.Audio ...
- just555 对话
网易 新闻 2005-03-31 16:37:47 空!(19194697)555,你在大连炒单,单日最大盈利率多少? 2005-03-31 16:37:59 just555(79610908)最大1 ...
- Java Garbage Collection基础详解------Java 垃圾回收机制技术详解
最近还是在找工作,在面试某移动互联网公司之前认为自己对Java的GC机制已经相当了解,其他面试官问的时候也不存在问题,直到那天该公司一个做搜索的面试官问了我GC的问题,具体就是:老年代使用的是哪中垃圾 ...
- 盒子模型(W3C盒子模型、IE盒子模型)
盒子模型:一个物体在页面中所占据的位置 盒子模型包含以下几种元素: padding:margin:content:border 这是大家都知道的,也是书本上定义说明的,但是在ie的情况下是有点区别的; ...
- PHP基础班初学心得:JS里inner的一些理解
本人刚参加PHP基础班培训,由于之前毫无基础,分享的心得可能不规范,方法也许也"旁门左道",不能保证质量,只作自己总结学习,也希望能帮助到同样是初学者的朋友们,共同进步. 在这里分 ...
- 一个java的Profile工具
场景:我们在系统运行中,需要监控某个代码段的运行时间,我们完全可以使用currentTimeMillis来做,但是做起来比较麻烦,尤其是需要阶段监控的时候,那么这个工具就出现啦~~~ 先说下想要实现的 ...
- include与require的区别?
require()语句的性能与include()相类似,都是包括并运行指定文件.不同之处在于:对include()语句来说,在执行文件时每次都要进行读取和评估:而对于require()来说,文件只处理 ...
- DataGridView
一.实现CheckBox列. 1.1 增加CheckBox列: 在DataGridView中增加CheckBox列: 注意:设置ColumnType类型和设置FalseValue为0,TrueValu ...
- sqlalchemy ORM
本节内容 ORM介绍 sqlalchemy安装 sqlalchemy基本使用 多外键关联 多对多关系 1. ORM介绍 orm英文全称object ...