本文主要是引导怎么从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() { } }