Daikon Forge GUI 制作UI面板

在上次的学习中制作了一个简单的面板,下面来学习制作图集以及字体。

1.DF-GUI 图集(Atlas)制作

操作步骤

选中UI Root根节点,在Scene场景中右键鼠标弹出如下菜单,选择需要制作的一个控件,在这里我选择了一个Texture sprite如下图。

在右方面板出现如下图的组件

Texture Sprite不需要制作图集,只需要导入位图,拖到图中所指示的位置即可。但是另外的Sprite ,如 Sliced Sprite需要制作图集才可以用。

制作图集(Texture Atlas)

在Sliced Sprite中出现如下图

这里就需要制作图集。首先随便拖一些图片素材进去,这时候要注意设置一下图片的属性,有几个地方要改。否则无法制作图集。

全部选中右击,选择如下选项。

取好名字后得到3个文件 ,一个是大的图片集合,一个是图片的材质盒,最后一个是一个prefab,里面有一个DF Atlas脚本。在这里可以添加删除图片,但是添加的图片依然需要之前的设置。

这样一个图集就制作完成,图集里面包含了许许多多小的图片,这样的目的是为了减少gpu 渲染的回调(draw call 或者opengl call),每次成批得渲染图片,而不是一张张去处理。

2.DF-GUI 字体(Font)制作

位图字体(BitMap Font)

(1)首先是位图字体(BitMap Font),一般用作制作默认字体,可以用不同的工具,制作出的文字效果跟图片类似,因此可以做的很炫酷,一般在游戏中用作很少一部分的hud字体 。原理是根据位图中各个字母的位置获得相应的信息保存到一个文件,每次需要文字的时候,从数据文件读取信息,截取图片中的字母。因此需要有两个文件被选中才能制作。

随便拖入或者从DF-GUI demo中获得2个BM Font文件。如下图制作。

之后获得一个字体集的prefab,里面包含一个Df Font脚本,这时候需要把这个字体加入到一个大的图集里(因为BM Font也有一张大的图片),将这个字体图片拖入之前制作的图集中

再将图集 拖入字体集相应的红色拖选框

选择刚才制作的字体集,OK

动态字体(Dynamic Font)

(2)其次是动态字体(Dynamic Font),一般用作游戏中可以变化的字体,比如显示一些游戏信息用一个字体,显示提示用另外一个字体等等,这些字体是动态添加的,而不是被默认的,一般以.ttf作为后缀。其原理可以参考 http://venrar.blog.163.com/blog/static/60699459200881102648855/ 这篇文章。

工程中拖入一个ttf文件,如下图操作,相对于BMFont比较简单。

两种字体比较

BM font的适用范围和Dynamic Font的适用范围不同

前者适用于 label,而后者适用于 Rich Text Label,如下图。

这个在可以尝试一下就可以知道。效果对比图:

(4)如果需要默认的图集和默认BMfont字体,则在UI Root上的Df UIManager上拖入响应的图集和字体集,这样每次新建一个图片或者label,都以此图片集和字体集作为默认的。如下图所示操作

这样就完成了图集和字体集的制作。

说明

转载自:http://blog.csdn.net/mlyx_ycy/article/details/14450791

Daikon Forge GUI 制作图集和字体集的更多相关文章

  1. Daikon Forge GUI 制作UI面板

    因为是第一次写技术博客,文章的结构和层次估计不标准,但是并不妨碍我想表达的内容. DF-GUI知识 DF-GUI初窥 DF-GUI于今年10月份面世,作为为数不多的unity UI插件,其功能值得一窥 ...

  2. unity3d插件Daikon Forge GUI 中文教程1-Daikon Forge介绍

    DF-GUI特点: ·        深编辑器集成:DF-GUI提供广泛的整合与Unity3D编辑环境,包括自定义检查人员对每个组件向导来简化复杂的多步任务,提高生产力的上下文菜单,编辑控件在一个所见 ...

  3. unity3d插件Daikon Forge GUI 中文教程-1-Daikon Forge介绍

    (游戏蛮牛首发)大家好我是孙广东官网提供了专业的视频教程http://www.daikonforge.com/dfgui/tutorials/,只是是在youtube上,要观看是须要FQ的. 只是教程 ...

  4. Daikon Forge GUI Library(dfgui)之Event Binding

    点击按钮并弹出对话框,就用下面的大问题按钮吧 1,选中按钮,Component/Daikon Forge/Data Binding/Event Binding 2,UI上创建DfPanel,并将其Be ...

  5. unity3d插件Daikon Forge GUI 中文教程2-基础控件Label的使用

    我们先来设置 UI Root 中的如下:屏幕大小为1024*768 2.1  新建一个Label 控件 先来看看Control Properties (基本上是所有控件都共用的)的以后不再介绍,参数: ...

  6. unity3d插件Daikon Forge GUI 中文教程6-高级控件richtextlabel的使用

    3.5.richtextlabel文本 可以像Word文档一样编辑出多样的内容,图片,字体颜色大小下划线.超链接背景等等. Defaults: 默认字体 默认图集 Blank Texture :空白的 ...

  7. unity3d插件Daikon Forge GUI 中文教程5-高级控件listbox和progress bar的使用

    3.3.listbox列表框 Atlas 图集: 下面应用到的精灵都是在这里的. ListBox中的内容: 背景精灵 图片的主颜色 Padding边距 Scrollbar 滚动条对象的预制体或者对象, ...

  8. unity3d插件Daikon Forge GUI 中文教程4-高级控件Checkbox和dropdownlis的使用

    第三节  高级的控件 Checkbox单选和多选.dropdownlis下拉列表.listbox列表框.progressbar进度条.richtextlabel富文本.slider滑块.textbox ...

  9. unity3d插件Daikon Forge GUI 中文教程3-基础控件Button和Sprite的使用

    2.2添加一个按钮Button 来看看特有的属性:Button Properties Data 显示的文本 Behavior 中的几个: Aoto Size 选中时就是按钮的背景会根据Data中的文本 ...

随机推荐

  1. Bootstrap 我的学习记录3 导航条理解

    以下理论内容copy自Bootstrap中文网 (一个不错的bootstrap学习网站) 导航条 默认样式的导航条 导航条是在您的应用或网站中作为导航页头的响应式基础组件.它们在移动设备上可以折叠(并 ...

  2. CSS之浮动那些事

    1.清除浮动 下面是两种常用的方式,而这两招也够用了(不用千招会,只需一招精). 1.结尾处加空div标签 clear:both <style type="text/css" ...

  3. Android 五大布局

    Android 五大布局:  FrameLayout(框架布局),LinearLayout (线性布局),AbsoluteLayout(绝对布局),RelativeLayout(相对布局),Table ...

  4. oracle pfile spfile

    1.参数文件的定义.作用 oracle数据库通过一系列参数来对数据库进行配置.这些参数是以键-值对的形式来表 示的,如:MAXLOGFILES=50BACKGROUND_DUMP_DEST=C:DUM ...

  5. Unable to start activity ComponentInfo{com.first/com.first.Game}

    原因一: xxx的错误,若为R.layout.main  那么应该是main.xml文件中的标签 使用错误,最常见的而且编译器不会提示的错误就是 android:name 和android:id 两者 ...

  6. HBase数据模型剖析

    出处:http://wuyudong.com/1987.html HBase 进行数据建模的方式和你熟悉的关系型数据库有些不同.关系型数据库围绕表.列和数据类型——数据的形态使用严格的规则.遵守这些严 ...

  7. iOS阅读器实践系列(一)coretext纯文本排版基础

    前言:之前做了公司阅读类的App,最近有时间来写一下阅读部分的实现过程,供梳理逻辑,计划会写一个系列希望能涉及到尽量多的方面与细节,欢迎大家交流.吐槽.拍砖,共同进步. 阅读的排版用的是coretex ...

  8. 【读书笔记】iOS网络-HTTP-请求内容

    一,GET方法. 从服务器获取一段内容,用HTTP术语来说就是实体.GET请求通常不包含请求体,不过也是可以包含的.有些网络缓存设施只会缓存GET响应.GET请求通常不会导致服务器端的数据变化. 二, ...

  9. C++ 构造函数中调用虚函数

    我们知道:C++中的多态使得可以根据对象的真实类型(动态类型)调用不同的虚函数.这种调用都是对象已经构建完成的情况.那如果在构造函数中调用虚函数,会怎么样呢? 有这么一段代码: class A { p ...

  10. OOD原则汇总

    头五项原则是关于类设计的,它们是: ◆ SRP,单一职责原则,一个类应该有且只有一个改变的理由. ◆ OCP,开放封闭原则,你应该能够不用修改原有类就能扩展一个类的行为. ◆ LSP,Liskov替换 ...