适用人群:需要使用FairyGUI的Unity开发人员。
本文内容:介绍FairyGUI和Unity如何合作项目。
一、FairyGUI创建并导出资源
FairyGUI开发操作步骤如下:
1、创建项目
打开FairyGUI,弹出FairyGUI Editor窗口。点击“创建项目”,输入项目名称,点击“浏览”选择项目保存位置,选择项目类型为“Unity”。点击“创建”。创建项目窗口如下图所示:

2、绘制GUI
通过创建组件,绘制出需要的UI视图。这里我简单绘制了一个UI界面,如下图所示:

3、导出资源
把需要导出的组件和相关资源,右击,点击“设置为导出”。未设置为导出的所有素材和组件都不会被导出。设置未导出后,文件图标会有红点标记,如下图所示:

点击“文件->发布设置...”,如下图所示:

在”发布设置”窗口中,填写文件名,选择文件导出路径,点击“发布”按钮,如下图所示:

发布完成,可以在该“发布路径”文件夹中看到所生成的文件。下图为本示例发布的文件:

把该文件夹下的文件,打包提交git,由Unity开发人员git拉取,并导入Unity项目即可。
二、Unity引入资源
先展示下引入后显示效果:

引入步骤如下:
1、创建或者打开Unity项目
2、下载FairyGUI Unity框架,并导入Unity中。
下载链接:<u>https://github.com/fairygui/FairyGUI-unity/releases</u>
如下图所示:

下载最新版本包即可。下载完成后,在打开Unity项目的情况下,点击下载包,Unity会自动弹出导入框,勾选掉不需要的代码块,点击import,即可。导入框以及需要导入哪些代码包,如下图所示:

3、导入资源
在Assets下创建Resources文件夹,在Resources文件夹下根据项目架构创建子文件夹,把FairyGUI界面资源文件添加进来。本示例添加进来后截图如下图所示:

这样就成功添加到Unity项目里了。
Unity引用改视图有两种方式:第一,预制体引用;第二,代码引用。
4、预制体引用FairyGUI资源
创建一个UIPanel面板,这里我命名为UIRoot,创建方式如下图所示:

选择所导入的资源包和组件,并设置该面板内容大小,如下图所示:

这样就能显示出来了。
5、代码引用FairyGUI资源
新建一个面板,并删除多余组件,如下图所示,我创建了一个UIPanel命名为Game1。

上图可以看到,我为该面板绑定了一个脚本组件,脚本文件名为MainScript文件。该文件代码如下:

这样就完成了。运行可以看到效果。
代码粘贴:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using FairyGUI;
public class MainScript : MonoBehaviour {
// Use this for initialization
void Start () {
GRoot.inst.SetContentScaleFactor(800, 640);
UIPackage.AddPackage("UI/FairyGUIGame1");//该路径为Resources文件夹下的资源路径。Assets/Resources/可以省略。
GComponent Comp = UIPackage.CreateObject("Package1", "Game1").asCom;//CreateObject的参数为包名和组件名。
GRoot.inst.AddChild(Comp);
}
// Update is called once per frame
void Update () {
}
}
备注1:资源的名字和路径相关:


备注2:
代码绑定,写起来顺手,也方便维护,不好的地方就是需要运行才能看到界面效果。
当然可以让Unity项目一直保持运行状态,这样更新FairyGUI资源后,运行效果会跟着刷新。
可以留言提错,一般几天内会回复。
网友评论