本文主要是引导怎么从fairygui页面ui编辑到unity的过程,如果想详细的那种,最好下载一个官方案例,里面都有详细的教程。不过这个对于新手来说还是挺好的(因为我刚开始以为是自己创建代码,自己写)
先去官网下载一个gui编辑器:
这是API函数:
创建一个组件:
这个组件就是一个界面ui
开始拼凑界面,所需要的操作需要到官网去查使用方法:
然后将需要用到的东西设置为导出:会在ui右下角出现一个红色小点点
设置为导出后,点击文件的发布设置:
发布界面更具自己需求来进行发布:
打包发布,最好发布到Unity工程的Resources目录,点击全部发布即可
如果是已经创建了unity项目,这个只是新加的,那么可以选择单个发布
允许发布代码:会自动生成ui代码,(最好使用这个方法,简单,后面只需要修改界面参数就行了)
允许发布代码之后,右键创建一个fairgui:
在uipanel上面选择你自己在fairgui里面创建的包和ui组件名字:
ps:如果没有,说明你没打包发布代码或者没有导出
然后在自己挂上去你自己修改的脚本代码:下图为我添加的脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using FairyGUI;
public class test1scr : MonoBehaviour
{
GList list;
//GetChild获取子组件
private void Awake()
{
//加载test1的包,因为我发布到的是resources/UI
UIPackage.AddPackage("UI/test1");
}
void Start()
{
//获取组件下的ui(为main这个组件)的list组件
list = GetComponent<UIPanel>().ui.GetChild("list").asList;
//数据源处理(这是一个委托,所以必须有参数int和GObject)
list.itemRenderer = listitems;
//list数据多少设置
list.numItems = 20;
}
void listitems(int index, GObject obj)
{
GButton item = (GButton)obj;
//n5为我的text名字
item.GetChild("n5").asTextField.text = "index:" + index;
//添加的ui://test1/r0为我ui里面的test1包里面的图片资源,之前发布的时候一起导出来的
item.GetChild("icon").asLoader.url = "ui://test1/r0";
item.data = index;
//添加的按钮点击事件
item.GetChild("n6").asButton.onClick.Add(itemon);
}
public void itemon(EventContext context)
{
}
// Update is called once per frame
void Update()
{
}
}