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


一,显示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.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.cy)
		:addTo(self)


end

function MainScene:onEnter()
end

function MainScene:onExit()
end

return MainScene

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





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

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

  1. ios – 可以使UITextField和UITextView渲染字体相同,还是只是不同?

    如果我创建一个UILabel,一个UITextField和一个UITextView,然后将它们设置为具有相同的布局样式–例如,没有背景颜色,白色文本和Courier字体大小为18–UILabel和UITextField看起来是一样的,而UITextView看起来不一样–字体看起来更细.我拍了一个问题的屏幕截图,但我没有足够的声誉把它放在这里.所以clickheretoseemyexampleina

  2. android – 古吉拉特语字体渲染

    我有包含古吉拉特语的sqlite数据库..数据库的SQL查询是……我想在textview中显示文本..但它没有正确呈现..意味着它显示古吉拉特语中的单词“”将显示为“”.我已经使用过Typeface和不同的ttf字体.解决方法这意味着您的UI框架正在正确处理“复杂文本布局”,或者未正确配置以正确处理.梵文脚本需要不同的上下文形状和文本排序,这需要使用Unicode字符的复杂布局支持.见this一个论坛here提到Android仍然没有适当的支持来做到这一点.但我对此的信息有限.DIPAN.

  3. macos – Windows上的Mac字体渲染

    我喜欢MacOS精美呈现字体的方式.我想知道我们是否能以某种方式在Windows上运行的浏览器中获得相同的渲染?有人推荐sIFR,但我想这在我需要使用非标准字体时很有用吗?查看GDI/FreeType.它是Windows的高度可配置的字体渲染替代品.通过一些配置的提示,消除锯齿等,你应该能够近似地接近OSX风格的字体渲染.

  4. 在Windows上Chrome的非标准字体渲染不佳

    更新:样品图像:我已经看到Chrome有抗锯齿问题,这就是为什么它是jaggy.使用字体也与系统中使用本地字体有所不同.所以我们可以做的只是等到他们解决这个问题,或者帮助Chromium项目,如果可以的话.

  5. 在Windows下Emacs糟糕的字体渲染

    经过一些谷歌搜索我发现,人们推荐使用字体Inconsolata进行Emacs编程.我从这里在Windows和Linux上安装它:http://www.levien.com/type/myfonts/inconsolata.html以下是相同文本的屏幕截图1–Linux,2–WindowsXPSP3:在Windows下,字体很薄,不清晰,阅读不舒服.是否可以在Linux上进行渲染?下载并安装Inco

  6. Windows – QT5字体渲染在各种平台上不同

    换句话说,是否可能强制QT5在所有平台上使用相同的字体引擎?这是新的结果.白色刻度表示真正的10像素大小.以下G_G下面的回答我调整了代码(Linux?

  7. Java字体渲染

    我一直在尝试增强使用Java编写的GUI系统以使用子像素抗锯齿功能,并且已经成功,除了两个剩余的异常.这是跟随我的otherquestionfromafewweeksago.第一个问题是设置渲染提示KEY_ANTIALIASING为VALUE_ANTIALIAS_ON会导致KEY_TEXT_ANTIALIASING被设置为LCD(子像素)AA值时被忽略.任何人都可以看出这一点吗?目前,在渲染文本之

  8. Objective-C – iOS5字体渲染已经改变了?

    ).解决方法当在iOS5上使用fontWithName:size:时,字体名称参数需要是应用程序包中的字体文件的全名,而不仅仅是字体系列名称.

  9. html5 – 如何在CSS 3中更平滑地渲染薄字体?

    当我在AdobeFlashProCS6中设计我的网站时,字体看起来像这样:字体看起来平滑和稍厚,当我创建HTML和CSS在浏览器中渲染字体时,它分别出现在IE,Firefox和Chrome中。它在一些地区看起来更薄和像素化。我假设这是ClearType的问题,它看起来像这样的薄字体可怕。使用IE的用户不会切换到Firefox或Chrome,反之亦然。你可以使用“hacks”,但这只会膨胀你的CSS,因为你可能需要不同的修补程序不同的浏览器。你可以尝试的事情:编辑:DirectWrite现在在Chrome的

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

    要是我工具有很多字但是游戏里面所有字也不能都是这样显示啊,用工具做那么多字,多累啊,下面我们用ttf字体显示我们想要显示的文字二,显示TTF格式字体好的,这个就很简单了,直接贴代码本来还以为显示中文会乱码的,结果没有乱码,中文正常显示好的,要是乱码的话,就写到xml/json文件里面读取显示,既然我没乱码,就不写这一段了

随机推荐

  1. 【cocos2d-x 3.x 学习笔记】对象内存管理

    Cocos2d-x的内存管理cocos2d-x中使用的是上面的引用计数来管理内存,但是又增加了一些自己的特色。cocos2d-x中通过Ref类来实现引用计数,所有需要实现内存自动回收的类都应该继承自Ref类。下面是Ref类的定义:在cocos2d-x中创建对象通常有两种方式:这两中方式的差异可以参见我另一篇博文“对象创建方式讨论”。在cocos2d-x中提倡使用第二种方式,为了避免误用第一种方式,一般将构造函数设为protected或private。参考资料:[1]cocos2d-x高级开发教程2.3节[

  2. 利用cocos2dx 3.2开发消灭星星六如何在cocos2dx中显示中文

    由于编码的不同,在cocos2dx中的Label控件中如果放入中文字,往往会出现乱码。为了方便使用,我把这个从文档中获取中文字的方法放在一个头文件里面Chinese.h这里的tex_vec是cocos2dx提供的一个保存文档内容的一个容器。这里给出ChineseWords,xml的格式再看看ChineseWord的实现Chinese.cpp就这样,以后在需要用到中文字的地方,就先include这个头文件然后调用ChineseWord函数,获取一串中文字符串。

  3. 利用cocos2dx 3.2开发消灭星星七关于星星的算法

    在前面,我们已经在GameLayer中利用随机数初始化了一个StarMatrix,如果还不知道怎么创建星星矩阵请回去看看而且我们也讲了整个游戏的触摸事件的派发了。

  4. cocos2dx3.x 新手打包APK注意事项!

    这个在编译的时候就可以发现了比较好弄这只是我遇到的,其他的以后遇到再补充吧。。。以前被这两个问题坑了好久

  5. 利用cocos2dx 3.2开发消灭星星八游戏的结束判断与数据控制

    如果你看完之前的,那么你基本已经拥有一个消灭星星游戏的雏形。开始把剩下的两两互不相连的星星消去。那么如何判断是GameOver还是进入下一关呢。。其实游戏数据贯穿整个游戏,包括星星消除的时候要加到获得分数上,消去剩下两两不相连的星星的时候的加分政策等,因此如果前面没有做这一块的,最好回去搞一搞。

  6. 利用cocos2dx 3.2开发消灭星星九为游戏添加一些特效

    needClear是一个flag,当游戏判断不能再继续后,这个flag变为true,开始消除剩下的星星clearSumTime是一个累加器ONE_CLEAR_TIME就是每颗星星消除的时间2.连击加分信息一般消除一次星星都会有连击信息和加多少分的信息。其实这些combo标签就是一张图片,也是通过控制其属性或者runAction来实现。源码ComboEffect.hComboEffect.cpp4.消除星星粒子效果消除星星时,为了实现星星爆裂散落的效果,使用了cocos2d提供的粒子特效引擎对于粒子特效不了

  7. 02 Cocos2D-x引擎win7环境搭建及创建项目

    官网有搭建的文章,直接转载记录。环境搭建:本文介绍如何搭建Cocos2d-x3.2版本的开发环境。项目创建:一、通过命令创建项目前面搭建好环境后,怎样创建自己的Cocos2d-x项目呢?先来看看Cocos2d-x3.2的目录吧这就是Cocos2d-x3.2的目录。输入cocosnew项目名–p包名–lcpp–d路径回车就创建成功了例如:成功后,找到这个项目打开proj.win32目录下的Hello.slnF5成功了。

  8. 利用cocos2dx 3.2开发消灭星星十为游戏添加音效项目源码分享

    一个游戏,声音也是非常的重要,其实cocos2dx里面的简单音效引擎的使用是非常简单的。我这里只不过是用一个类对所有的音效进行管理罢了。Audio.hAudio.cpp好了,本系列教程到此结束,第一次写教程如有不对请见谅或指教,谢谢大家。最后附上整个项目的源代码点击打开链接

  9. 03 Helloworld

    程序都有一个入口点,在C++就是main函数了,打开main.cpp,代码如下:123456789101112131415161718#include"main.h"#include"AppDelegate.h"#include"cocos2d.h"USING_NS_CC;intAPIENTRY_tWinMain{UNREFERENCED_ParaMETER;UNREFERENCED_ParaMETER;//createtheapplicationinstanceAppDelegateapp;return

  10. MenuItemImage*图标菜单创建注意事项

    学习cocos2dx,看的是cocos2d-x3.x手游开发实例详解,这本书错误一大把,本着探索求知勇于发现错误改正错误的精神,我跟着书上的例子一起调试,当学习到场景切换这个小节的时候,出了个错误,卡了我好几个小时。

返回
顶部