Quick cocos2dx-Lua(V3.3R1)学习笔记(四)----文本渲染之用BM TTF创建文本

上一篇我们显示了背景图和文字,这一篇我们详细介绍一下文本显示的方法

一,显示fnt格式字体

首先我们下载BMF格式文件制作工具,Bitmap Font Generator

下载地址:http://www.angelcode.com/products/bmfont/

安装完毕,我们打开这个工具,看到如下的界面

左边就是单独字体 右边就是字体库(注意:如果要有符号输入,将第一项Latin+Latin Supplenment打钩)(你看你看,我不是所有括号都有自言自语的)

我们来创建字体

点击Options下面的Font settings

会出现一个我们想要导出字体的窗口设置

我们设置一下

来个特殊的字体,迷你简黄草字体,自己设置一下自己电脑已经有的字体吧

size就是自己要输出字体的尺寸

ok,出现,我们在主界面选择自己想要的文字

好的,我们选几个单独的字,我选个中举乞丐(别吐槽我选的字,我实在找不到那些字在哪里了,哈哈)

好的,我们在Options下面选择Export options

我们选择32位深,字体初始化为白色 保存为png

ok,进入options下面选择Save bitmap fons as....选项,导出字体文件

好,生成字体fnt和png放入res下面fonts文件夹下

我们继续修改那个代码

local MainScene = class("MainScene", function()
    return display.newScene("MainScene")
end)

function MainScene:ctor()

	cc.ui.UILabel.new({UILabelType = 1,text = "乞丐中举",font="fonts/test.fnt"})
 		:align(display.CENTER,display.cx,display.cy)
 		:addTo(self)
 	--显示fnt字体的另外一种方式,只不过上面的封装了一下
 	-- display.newBMFontLabel({text = "乞丐中举",font="fonts/test.fnt"})
 	-- 	:align(display.CENTER,display.cx,display.cy)
 	-- 	:addTo(self)

end

function MainScene:onEnter()
end

function MainScene:onExit()
end

return MainScene

  

输出效果

是不是很简单啊。

要是我工具有很多字

但是游戏里面所有字也不能都是这样显示啊,用工具做那么多字,多累啊,下面我们用ttf字体显示我们想要显示的文字

二,显示TTF格式字体

好的,这个就很简单了,直接贴代码

local MainScene = class("MainScene", function()
    return display.newScene("MainScene")
end)

function MainScene:ctor()

	cc.ui.UILabel.new(
		{UILabelType = 2,text = "孔乙己中举",size = 50,font = "fonts/迷你简黄草.ttf"})
		:align(display.CENTER,display.cx,display.cy)
		:addTo(self)

end

function MainScene:onEnter()
end

function MainScene:onExit()
end

return MainScene

  

本来还以为显示中文会乱码的,结果没有乱码,中文正常显示

好的,要是乱码的话,就写到xml /json文件里面读取显示,既然我没乱码,就不写这一段了

时间: 2025-01-07 10:47:38

Quick cocos2dx-Lua(V3.3R1)学习笔记(四)----文本渲染之用BM TTF创建文本的相关文章

Cocos2d-x 3.1.1 学习笔记(四)学习打包Android平台APK!

从cocos2dx 3.1项目打包成apk安卓应用文件,搭建安卓环境的步骤有点繁琐,但搭建一次之后,以后就会非常快捷! 一.下载Android环境 搭建Android环境需要用到Android SDK.NDK.Ant和JDK: Android SDK下载http://developer.android.com/sdk/index.html Android NDk下载http://developer.android.com/tools/sdk/ndk/index.html Android JDK下

Swift学习笔记四:数组和字典

最近一个月都在专心做unity3d的斗地主游戏,从早到晚,最后总算是搞出来了,其中的心酸只有自己知道.最近才有功夫闲下来,还是学习学习之前的老本行--asp.net,现在用.net做项目流行MVC,而不是之前的三层,既然技术在更新,只能不断学习,以适应新的技术潮流! 创建MVC工程 1.打开Visual studio2012,新建MVC4工程 2.选择工程属性,创建MVC工程 3.生成工程的目录 App_Start:启动文件的配置信息,包括很重要的RouteConfig路由注册信息 Conten

Cocos2d-x 3.1.1 学习笔记(二)创建自定义项目

一.通过命令创建项目 前面搭建好环境后,怎样创建自己的cocos2d-x项目呢? 先来看看cocos2dx 3.1的目录吧 这就是 cocos2dx 3.1的目录, 3.1版本的创建跟以前的不同了(好吧,又变了),我们先把 download-deps.py 和 setup.py 执行一遍,按住shift+鼠标右键 输入cocos命令 回车 这里会看到一些命令的声明,这里我只说下 创建新的项目,输入命令cocos new 这里 -p      是包名 -l       是文件格式 有cpp.lua

Cocos2dx 3.1.1 学习笔记整理(1)

最近手痒了,不小心下载了cocos2dx 3.1.1,又搞了个VS2012,于是头脑发热的搞起 3.1.1了. 我是有多么的不专心啊. 已经把自己之前的学习内容从2.2.3迁移到了3.1.1,除了骨骼动画相关的之外. 简单记录一下过程: 1 安装与搭建 解压cocos2dx3.1.1版本,根目录下会有download-deps.py和setup.py, 预先用python分别对这两个文件跑一遍,有问题的话解决问题,没问题的话最好了. 2新建项目 跑完以上两个py文件之后,会自己将所有相关的系统环

Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能

Caliburn.Micro学习笔记(四)----IHandle<T>实现多语言功能 说一下IHandle<T>实现多语言功能 因为Caliburn.Micro是基于MvvM的UI与codebehind分离, binding可以是双向的所以我们想动态的实现多语言切换很是方便今天我做一个小demo给大家提供一个思路 先看一下效果 点击英文  变成英文状态点chinese就会变成中文                          源码的下载地址在文章的最下边 多语言用的是资源文件建

代码管理工具 --- git的学习笔记四《重新整理git(1)》

1.创建版本库 mkdir  创建目录 cd  地址,到该地址下 pwd 显示当前目录 1.创建目录 $ mkdir startGit $ cd startGit $ pwd 显示当前目录 或者cd到桌面,然后再创建目录 2.初始化版本库 $ git init 初始化仓库 提示信息:Initialized empty Git repository in /Users/xingzai/Desktop/startGit/.git/ 建立一个空的git仓库在/Users/xingzai/Desktop

基于Cocos2dx+Lua v3.x的RichLabel

RichLabel 简介 RichLabel基于Cocos2dx+Lua v3.x解析字符串方面使用了labelparser,它可以将一定格式的字符串,转换为lua中的表结构扩展标签极其简单,只需添加一个遵守规则的标签插件即可,无需改动已存在代码!!! (标签插件都在labels文件夹下) labelparser的详解labelparser在github上的源码RichLabel在github上的源码 支持图片(缩放,旋转,是否可见) 支持文本属性(字体,大小,颜色,阴影,描边,发光) 支持标签

Linux学习笔记四:Linux的文件搜索命令

1.文件搜索命令  which 语法:which [命令名称] 范例:$which ls  列出ls命令所在目录 [[email protected] ~]$ which ls alias ls='ls --color=auto' /bin/ls 另外一个命令:whereis [名称名称],也可以列出命令所在目录. [[email protected] ~]$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/ma

小猪的数据结构学习笔记(四)

小猪的数据结构学习笔记(四) 线性表之静态链表 --转载请注明出处:coder-pig 本章引言: 在二,三中中我们分别学习了顺序表中的线性表与单链表,线性表有点类似于 我们前面所学的数组,而单链表使用的最多的是指针,这里问个简单的问题, 如果是在以前没有指针的话,前辈先人们怎么实现单链表呢?大家思考下! 没有指针,那么用什么来代替呢?前辈先人们非常机智,想出了使用下标+游标的方式 来实现单链表的效果!也就是今天要讲的--静态链表! 当然你也可以直接跳过本章,因为有了单链表就没有必要用静态链表了