FairyGUI Unity评估
来源:互联网 发布:西蒙斯大学数据 编辑:程序博客网 时间:2024/05/09 00:26
FairyGUI是一款UI制作的编辑器,它是一个跨平台的UI编辑器,支持多个开发平台,当然,对我们而言,它支持Unity,还有Egret,Egret和Unity有一点关系,它支持从Unity导入数据。
http://www.fairygui.com/是它的官网,虽然这是一个个人作品,去年才流行起来,但是也有几个商业案例了。
它的跨平台性主要体现在FairyGUI编辑器上,这一点和UnityEditor非常相似,做布局、动画这些只用做一次,然后选择不同的平台,生成一个UI包,然后在不同的平台上用不同的SDK去加载UI包、关联UI事件触发等。
在Unity平台一个界面和它的输出的UI包如同这样:
因此使用流程如下:
用FairyGUI Editor建立一个UI工程-》导入必要的素材-》做好界面-》打包-》放入Unity编辑器
在Unity编辑器里使用的方式有如下几种:
1、 直接放在Resources下面
a) 使用UIPanel预置体显示,不需要任何代码
b) 使用代码加载并创建
2、 打包成AssetBundle
使用代码加载并创建
无论使用哪种方式,UI的用户响应需要开发者用代码去实现,这个类似于UGUI的代码注册事件响应,只是获取UI元素要使用FairyGUI的Unity SDK
具体的API可以在官网上去看,现在官网已经有完整的文字教程了
与UGUI对比:
GUI和NGUI就不用比了,它们没有UGUI好用
UGUI和FairyGUI都提供可视化操作,UGUI是基于Unity编辑器的,FariyGUI提供了一个自己的独立编辑器
事件响应:
Unity可以通过可视化操作实现在可接受事件的UI元素上用事件监听组件调用任意物体上的任意组件的公共方法(有限制),并可以接受一个简单类型的参数;
FairyGUI 中可以通过控制器,可视化的让按钮、列表、分页、下拉框执行对其它UI元素的定制化操作
这一点上,UGUI的扩展性要强一些,但是实际开发时会体会到,UGUI给人的感觉是什么都可以、什么都要自己写;FariyGUI的控制器只能可视化的用于上面说的几种类型,但是它是写好的,不用自己开发,关于控制器详细情况可查阅官网。
耦合性:
UGUI因为可视化编辑是UnityEditor,在很多情况下UI不会是一个单独工程,和代码是放在一起的,也就不可避免有某些人员会直接可视化注册事件。另外,因UGUI控件少,部分功能要代码实现,很可能和其它代码耦合。
FariyGUI硬性的把UI分隔为一个单独的工程,另外提供了大量的控件和功能,它提倡UI的功能用UI编辑器完成,尽量不在Unity里再去扩展。另外,它的可视化事件响应只会影响到UI元素,不会关联到代码,可维护性相对要高。
开发难度:
UGUI有锚点系统,不可否认,锚点非常优秀,也能实现各种布局,但是有一个问题是锚点只能相对父物体,这也就意味着要实现某种布局时,可能要加入很多空的UI元素来形成一层一层的父物体以使锚点发挥作用。这对UI制作来说很不友好,不仅要考虑相互关系,还要考虑怎么排布父子关系。
FairyGUI提供了一个关联系统,可以关联任意两个元素,使一个元素的位置相对另一个元素去定义,不用考虑层级关系,这一点我认为是非常好的。
从UI组件来说,FairyGUI提供的组件要丰富得多,常见的功能都可以在FairyGUI中用鼠标点点点来完成,UGUI组件比较基础,一个可切换的Button就得写代码了。
UI动画上,两者差不多,UGUI有Animation window,FairyGUI有动效系统,都差不多。
扩展性:
UGUI要好一些,本来就是GameObject+Script的方式,什么都可以写。
FariyGUI在Unity中运行时也是有GameObject的,只是不推荐代码写UI效果。
一般来说,在UGUI上要用代码写的功能,FairyGUI上已经内置提供了。
因此,一般的项目,推荐尝试下FairyGUI
- FairyGUI Unity评估
- Unity FairyGUI测试过程
- Unity SLua+FairyGUI
- FairyGUI
- 【Unity自己写框架】FairyGUI UI框架(一)
- Unity+FairyGUI)自定义fgui界面基类
- Unity+FairyGUI)rpg方向控制的方向盘控制/摇杆
- Unity+FairyGUI)定义一个回调函数
- 【Unity自己写框架】FairyGUI UI框架(一)
- 【Unity】UI界面的热更新技术 FairyGUI的使用流程
- FairyGUI学习摘录
- 初学FairyGUI,对比NGUI
- FairyGUI导出XLua接口
- FairyGUI之drawcall优化
- fairyGUI实现搜索框
- fairyGUI实现文本可折叠
- fairyGUI实现搜索框
- FairyGUI中创建遮罩
- tar中的参数 cvf,xvf,cvzf,zxvf的区别
- mac 终端中添加tree命令显示文件目录结构
- python多进程笔记2
- 猿们平常都喜欢听啥音乐?
- 贝叶斯
- FairyGUI Unity评估
- LeetCode--Unique Paths
- 水平不高怎么拿NOIP一等奖?南京外国语许昊然 比赛经验
- PostgreSQL(五)系统参数配置
- B1015/A1062 . 德才论 (25)
- oracle创建存储过程定时任务时报错的问题
- linux 某个文件夹执行命令完全卡死完美解决方法
- java 异常处理
- 动态代理总结