这两天把FGUI差不多学完了,今天看了点ET框架,发现如何在ET上使用FGUI的文档很少很少。就自己根据初见大佬的ET4.0的斗地主,他的一篇在ET上如何使用FGUI,和同事自己写好的一些界面,了解了下如何在ET框架上使用FGUI。下面将带大家看看:
首先得导入FGUI的方法如这种
这个自己没发现是自己写的还是ET上的还是FGUI里面的。
然后就是要去建立两个类,一个工厂类和一个组件类
我们先说说工厂类:
这里得将自己的类继承IFUIFactory,通过AB加载来导入AssetsBundle文件,注意:我们需要将在FGUI中拼好的界面打包到Unity项目中,然后通过ET上的打包来将图集文件打包成AB的格式
当然,你也可以用AB打包来讲图集文件进行打包。
下面就是FGUI在unity中使用的正常操作了,(因为是AB加载,而且一般的大游戏也不会让你去使用UIPanel,所以得在代码中进行界面的导入)
GetOneBundleWithFGUI()这个函数的意思是,根据FGUI包名获得AB包。具体没弄清楚,有知道的说一下。
下面就是创建一个UIPanel了
这个跟UGUI的资源加载是差不多的,下面是UGUI的资源加载
接下就是组件类的操作了,组件类里的,就是实现工厂类中实例出来的UIPanel中的一些功能。详情如下:
这里面的一些方法什么的,没有什么特殊的,正常使用就可以了。
在UGUI中也是如此使用
UGUI和FGUI在ET上使用是相差无几的,主要是
1、UGUI是直接实例化出来Panel,FGUI是通过FGUI的UIPackage.AddPackage()来进行UIPanel的实例化
2、UGUI需要设置UI层级让摄像机能够渲染到,FGUI因为会自带一个摄像机,所以不用调节,但是需要将UI全屏化,并且可以手动将DrawCall最优化。
其他的区别,目前还没发现。
说说FGUI的好处:
因为FGUI的自适应是根据在FGUI软件上自定义好的比例,然后在根据这个比例进行自适应,所以FGUI的自适应这一点会比UGUI好一点。FGUI能够先自己搭建出一个差不多的界面,然后再将图集导入进unity,在调用按钮组件什么的,相对于UGUI而已,不会那么清晰的能够对组件需求什么的进行更改,会比较麻烦,但FGUI真的很强大,可能用习惯了UGUI还有一点不适应。总体而言,FGUI很强大!!!
(刚入坑的渣渣,随便写写)