UIFont里使用Symbols来指定字体时用Sprite前缀和名字自动分配的工具,前段时间工作需要时写的,具体用法有空时再写。

using UnityEngine;
using UnityEditor;
using System.Collections.Generic; public class ParseFontAtlasWindow : EditorWindow
{
[MenuItem ("CustomTools/ParseFontAtlasWindow")]
static void Init ()
{
ParseFontAtlasWindow window = (ParseFontAtlasWindow)EditorWindow.GetWindow (typeof (ParseFontAtlasWindow));
window.Show();
} string atlasPrefix = string.Empty; void OnGUI ()
{
atlasPrefix = EditorGUILayout.TextField(atlasPrefix);
if (GUILayout.Button("ParseAtlas"))
{
UIFont tempFont = GetSelectedFont(); UIAtlas tempAtlas = tempFont.atlas;
foreach(UISpriteData tempSpriteData in tempAtlas.spriteList)
{
if( tempSpriteData.name.StartsWith(atlasPrefix)) tempFont.AddSymbol(tempSpriteData.name.Remove(,atlasPrefix.Length), tempSpriteData.name);
}
tempFont.MarkAsChanged();
} if (GUILayout.Button("ClearSymbol"))
{
UIFont tempFont = GetSelectedFont();
if(tempFont == null) return;
tempFont.symbols.Clear();
tempFont.MarkAsChanged();
} if (GUILayout.Button("Active"))
{
UIFont tempFont = GetSelectedFont();
if (tempFont == null) return;
if (tempFont.bmFont.isValid) return;
tempFont.bmFont.glyphs.Add(new BMGlyph());
tempFont.MarkAsChanged();
}
} UIFont GetSelectedFont()
{
UIFont result = null;
if(Selection.activeGameObject != null)
{
result = Selection.activeGameObject.GetComponent<UIFont> ();
}
return result;
} }

NGUI图集字体的更多相关文章

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

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

  2. 制作NGUI动态字体

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

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

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

  4. Unity3d通用工具类之NGUI图集分解

    ---恢复内容开始--- Unity3d通用工具类之NGUI图集分解 由于最近需要一些美术资源吗,但是无奈自己不会制作UI,所以就打算去网上的项目中直接找几张可以使用的贴图资源. 但是发现这些资源已经 ...

  5. NGUI图集切割代码

    原地址:http://blog.csdn.net/u011440375/article/details/9707491 因为最近工作用NGUI比较多,修改图集时还没原图,有时候需要把图集重新切割开来, ...

  6. NGUI动态字体的使用

    LZ今年六月刚刚毕业,在学校跟着老师做Android,OpenGL ES方面的项目(说白了就是干苦力╮(╯_╰)╭).年后来SZ了,就业前景好像并没有电视上渲染的那样糟糕,至少IT行业是这样吧,只要你 ...

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

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

  8. NGUI的字体加粗效果

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

  9. 解决切换场景时NGUI图集资源未释放的问题

    使用unity3d编辑器,在切换场景的时候.NGUI的图集没有释放造成内存不足游戏闪退的问题. 默认情况下,unity3d切换场景之后会释放不用的内存,即内部会调用Resources.UnloadUn ...

随机推荐

  1. [ERROR] Failed to contact master at [localhost:11311]. Retrying...

    [ERROR] [1446531999.044935824]: [registerPublisher] Failed to contact master at [localhost:11311]. R ...

  2. MVC仓储类Repository

    接口: using Common; using System; using System.Collections; using System.Collections.Generic; using Sy ...

  3. ThinkPHP5路由图解

  4. hg 添加用户

    .hg目录下hgrc文件 [ui] username = lyd

  5. 配置 Mysql 支持远程访问 并取消域名解析以提高链接速度

    1 配置远程访问 1.1 修改 my.cnf [mysqld] 段 bind-address = 0.0.0.0 //支持所有 ipv4 1.2 建立远程访问用户 mysql> grant al ...

  6. 设计模式之prototype(原型模型)

    以我的理解原型模式的重点就几个字 用于克隆易变对象设计模式主要是为了解决new对象时的耦合问题,这是要克隆某个易变对象时只要直接传入要克隆的对象就可以实现克隆一下是我复制网上的一些代码 摘自<设 ...

  7. HttpClient的几个实现类

    DefaultHttpClient最基本的HttpClient实现 org.apache.http.impl.client.DefaultHttpClient占用内存23字节 第一次初始化的时候需要2 ...

  8. servlet填充Response时,数据转换之content-type

    在Http请求中,我们每天都在使用Content-type来指定不同格式的请求信息,但是却很少有人去全面了解content-type中允许的值有多少,这里将讲解Content-Type的可用值. 1. ...

  9. python数据类型2

    一 文件格式补充 在python3中,除字符串外,所有数据类型在内存中的编码格式都是utf-8,而字符串在内存中的格式是Unicode的格式. 由于Unicode的格式无法存入硬盘中,所以这里还有一种 ...

  10. [VC++入门]指针一

    俗话说没有搞清楚指针就没有学会C/C++,所以指针是一个相当重要的东东,相当年在用 C#调用C++写的动态链接库时,以为C++中的指针就是C#中的引用类型(ref),但是看了一下却不是这样.指针当然和 ...