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

前端之家收集整理的这篇文章主要介绍了Quick cocos2dx-Lua(V3.3R1)学习笔记(3)----文本渲染之用BM TTF创建文本前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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


@H_403_1@

一,显示fnt格式字体@H_403_1@

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

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

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


@H_403_1@


@H_403_1@

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

我们来创建字体@H_403_1@

点击Options下面的Font settings@H_403_1@

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

我们设置一下@H_403_1@


@H_403_1@

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

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

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

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


@H_403_1@

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


@H_403_1@

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

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

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

我们继续修改那个代码@H_403_1@

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.cy)
 	-- 	:addTo(self)
 	
end

function MainScene:onEnter()
end

function MainScene:onExit()
end

return MainScene

输出效果


@H_403_1@

是不是很简单啊。@H_403_1@

要是我工具有很多字@H_403_1@


@H_403_1@


@H_403_1@


@H_403_1@

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


@H_403_1@


@H_403_1@


@H_403_1@

二,显示TTF格式字体@H_403_1@

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

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.cy)
		:addTo(self)


end

function MainScene:onEnter()
end

function MainScene:onExit()
end

return MainScene

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


@H_403_1@


@H_403_1@


@H_403_1@


@H_403_1@

好的,要是乱码的话,就写到xml /json文件里面读取显示,既然我没乱码,就不写这一段了@H_403_1@ 原文链接:https://www.f2er.com/cocos2dx/345542.html

猜你在找的Cocos2d-x相关文章