zoukankan      html  css  js  c++  java
  • 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文件里面读取显示,既然我没乱码,就不写这一段了

  • 相关阅读:
    mysql BETWEEN操作符 语法
    mysql IN操作符 语法
    mysql LIKE通配符 语法
    mysql TOP语句 语法
    mysql DELETE语句 语法
    mysql Update语句 语法
    mysql INSERT语句 语法
    mysql ORDER BY语句 语法
    mysql OR运算符 语法
    mysql AND运算符 语法
  • 原文地址:https://www.cnblogs.com/luagame/p/4214314.html
Copyright © 2011-2022 走看看