LZ今年六月刚刚毕业,在学校跟着老师做Android,OpenGL ES方面的项目(说白了就是干苦力╮(╯_╰)╭)。年后来SZ了,就业前景好像并没有电视上渲染的那样糟糕,至少IT行业是这样吧,只要你在大学做过些东西,有些基础,找到一份工作并不难。LZ本来是想找一家做Android游戏的公司,最好用我比较熟悉的Java,以及略微懂点儿的OpenGL ES技术,可是现实完全不是我想的那样子,根本没有这样的公司(掀桌(╯‵□′)╯︵┻━┻)!!!要么是Android应用,要么是Cocos2d,再要么就是Unity3D了。不说过程了,反正最后LZ到了一家创业公司用Unity做游戏。。。尼玛啊,LZ以前搞Android的,完全不会c#啊!!!好吧,其实两者差别也不大。。。额,经过一个多月LZ一个人漫长的学习(没错,就是一个人),期间各种痛苦,遇到问题连个问的人都木有,算是入了点门吧,就在LZ沾沾自喜的时候,Boss又发话了,研究下做UI的插件吧,下一步我们要做有些的UI。于是LZ屁颠屁颠跑去各种论坛Q群取经,看看大神们都用的是什么做UI。。经过几天的调研,最后决定了使用NGUI。一是性能比较好,口碑也好;二是简单,作者都说了遵循KISS原则,连傻子都会用。就这样,LZ就开始学习NGUI的艰辛历程,可能LZ比较笨,作者说小学生都能两天上手的东西LZ用了好几个周才摸着点儿门道。然后就是在实践中摸索着前进咯。废话说多了,下面转入正题。。。

  NGUI一开始是不支持动态字体的,尽管Unity从4.0开始就已经支持了,可是NGUI依旧宁死不屈,就不支持,可能是老外觉得自己做个不就好了嘛,就26个字母加上标点,多大点儿事儿╮(╯_╰)╭。可是生活在天朝的程序猿就苦咯,自己做图集?可以!常用的3000+字,稍微偏一点儿的字就打不出来不说,效果还不好,总感觉那些字怪怪的,放大一点就糊了。反正各种不爽。。。后来,有个大神自己写了个脚本,让NGUI也支持动态字体了,真是雪中送炭啊,看着清晰的字体,LZ对着屏幕就像饿了很多天的乞丐看见鸡腿一样。可是,在自己尝试着使用了一下,发现还是有些这样那样的Bug。不是很好用。再然后,盼星星盼月亮,tasharen大神终于放出了支持动态字体的官方版本!!!ps.其实我看了新加的几个脚本,跟之前非官方版本差别基本不大。谁知道这是什么情况。。

  拿到支持动态字体的NGUI,LZ迫不及待开始了尝试。首先,选一个好看的ttf字体扔到unity中,然后就等着吧,可得一会儿。。

                                            

  经过漫长的等待,字体终于导入到unity中,下面需要选择NGUI自带的Font Maker工具,在这里。。

                                                 

  打开后Type选择Dynamic,Font TTF讲导入的字体拖到此处。起一个霸气的名字,点击那个绿色的按钮就可以得到一个字体预制。

                                           

  下面创建一个Label试试。Font就是刚才得到的那个预制。

                                        

  点击Add进一个Panel中,假如你的Panel中本来就有一个背景什么的,你会发现你刚添加的字体被挡住了,而且任你点Depth点到手抽筋也没用。。

                                

  这个问题是因为在同一Panel不同图集造成的,这时候Depth是没用的。而你会发现NGUI的Example就不会出现这个问题,因为它的字体和精灵都在同一图集╮(╯_╰)╭。这个问题有些复杂以后再说好了。要解决这个问题,你需要调整Label的z轴,比背景前一点点就行。

                                

  你会发现其实动态字体还是非常好用的,一般情况下需要的字、符号里面都有,而且还很清晰,放大一些也不会糊,妈妈再也不用担心我的字体问题了!剩下的Input也一样,想输入什么就输入什么↖(^ω^)↗。

     

NGUI动态字体的使用的更多相关文章

  1. 制作NGUI动态字体

    在ngui中有两种制做字体的方式.一种是bmfont等工具制作字体图集的方法,这样的方法呢是动态的.生成的图集有多个字就是多少个字,要多加一 个字要又一次用工具做一次,非常是麻烦. 而汉字有太多,我们 ...

  2. NGUI 动态字体边缘模糊,毛边的问题解决办法

    NGUI支持生成动态字体,将ttf格式的字体文件拖入工程,用NGUIFontMaker制作即可,但是制作完之后会发现字体有毛边,边缘模糊. 这时选中你生成的字体预设,在该预设的UIFont脚本上更改P ...

  3. NGUI动态字体的创建(font maker)

    1,打开font maker 2,在font maker中创建选择动态字体 PS: 1,动态字体相对静态字体来说,动态字体比较消耗性能 2,静态字体是创建在图集中,这也是没那么消耗性能的原因

  4. NGUI 动态添加控件

    本文链接地址: Unity3D NGUI动态创建按钮 本例仅以熟悉NGUI组件功能为目的,想快捷简便的创建按钮或其它游戏物体请参考 “Unity3D 动态实例化Prefab” 以动态创建服务器列表为例 ...

  5. NGUI制作字体的三种方法

    主要参考两篇博文: (1).NGUI制作字体的三种方法 (2).使用位图字体工具BMFont从图片生成自定义字体 1.BMFont下载地址 http://www.angelcode.com/produ ...

  6. Unity动态字体在手机上出现字体丢失问题解决

    在我们游戏的开发过程中,在部分手机上运行游戏的时候,出现了字体丢失的问题,出问题的手机似乎用的都是高通芯片. 使用的unity是4.2.0版本,ngui是3.4.9版本. 在unity的论坛及unit ...

  7. 利用BMFont和NGUI制作字体集

    Unity中常常需要制作字体,也算是Unity的基本优势吧!其实质就是BMFont和NGUI制作字体.这里把步骤介绍一下: 1.先下载BMFont这个工具 2.Font Settings  设置:(1 ...

  8. 用原生CSS编写动态字体

    HTML部分: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <t ...

  9. NGUI的字体加粗效果

    ngui的UILabel可以通过属性面板(inspector)设置字体的样式:加粗 倾斜 正常等. 但是如果通过这里设置了加粗,与实际的加粗不一样,ngui有一个拉伸宽度的变化. 这让人觉得很丑 .如 ...

随机推荐

  1. SDK 开发 .a .framework .bundle (xcode引用) 依赖sdk工程

    一. 静态库.a 1.创建静态库工程 Cocoa Touch Static Libray  ,然后可以创建一个测试视图 TestView 2.暴露头文件 -> Build Phases--> ...

  2. [Maven]Codehaus的Maven Repository地址

    In ~/.m2/settings.xml you can update the URL to be used for specific repositories. For example: < ...

  3. Android SharedPreferences应用实例(记录App的使用次数)

    1.介绍 2.使用方法 3.java后台 package com.lucky.test46sharedpreferences_apply; import android.content.SharedP ...

  4. WPF 一 概述

    创建一个项目吧 菜单>文件>新建>项目 看一看目录结构 WPF应用程序”会在“引用”里面自动添加下图中所示的 PresentationCore.PresentationFramewo ...

  5. 自动生成缓存Key值的CacheKeyHelper

    /// <summary> /// CacheKeyHelper /// </summary> public class CacheKeyHelper { /// <su ...

  6. python 函数的递归

    递归:简单来说就是自己调用自己 这里我们又要举个例子来说明递归能做的事情. 例一: 现在你们问我,alex老师多大了?我说我不告诉你,但alex比 egon 大两岁. 你想知道alex多大,你是不是还 ...

  7. Mocoserver使用介绍

    10.使用flask实现mock server 测试管理 基于思维导图的用例设计 https://www.ibm.com/developerworks/cn/web/1405_liugang_moco ...

  8. JS实现跨域请求数据--jsonp

    * { margin: 0; padding: 0; } input { width: 300px; height: 30px; border: 1px solid lightgray; margin ...

  9. js 替换中间四位手机号为 *

    replace(/(\d{})\d{}(\d{})/, '$1****$2')

  10. Mina初识

    1.概述 1.1 Apache的顶级项目,基于java NIO,支持TCP/IP.UDP/IP: 1.2 Mina对外屏蔽了java NIO使用的复杂性,并在性能上做了不少的优化: 1.3 Mina采 ...