5.FGUI基础-基础知识-包的概念
5.1 知识点
包的定义
- 包是FairyGUI中用于组织资源的。
- 在文件系统中,每个包在assets文件夹下都表示为一个子目录。
- 在最终打包过程中,也是以包为单位进行打包的。
- 每个包都包含一个名为package.xml的数据文件,它记录了包中的资源关联信息,如控件位置、资源等等。这个文件非常重要。
- 在包发布后,会生成一个描述文件和一张或多张纹理集(图集)。
- 当我们在引擎中使用时,根据这个描述文件使用纹理集中的图片来创建UI。
新建包
- 菜单栏——>资源——>新建包(或者点击快捷按钮)
包的依赖
- FairyGUI不处理包之间的依赖
- 假设有两个包A和B
- 如果某个A包中元件A1 使用了B包中的B1
- 为了保证A1的正常使用,必须先加载B包
- 否则无法正常使用
- 如果一个包要使用其它包中的资源,那么该资源必须设置为导出资源,如果不不设置是不可访问的,并且只有设置为导出的组件才可以使用代码动态创建
- 导出资源图片右下角有小红点
- 包依赖相关API
资源URL地址
在FairyGUI中每个资源都对应了一个资源URL地址
选中一个资源,右键,会出现复制URL,就可以得到它的资源地址
无论在编辑器还是代码中 我们都可以通过资源地址来得到资源 比如:ui://c8d1gzdo8m7b4
但是我们使用的话可以通过资源URL地址规则 不一定要使用右键复制的URL
资源URL地址规则:ui://包名//资源名 比如 ui://FGUI教程//ui_DL_an_quxiao_01
注意:该格式地址是不包含文件夹的,只需要用包名和资源名,所以最好要保证一个包的每个资源名唯一
URL相关在Unity的API
划分包的原则
不要建立交叉引用
公共资源放在公共包中
避免A用B,B用C这种复杂的关系
建议:
- 大项目,一个模块一个包,比如背包系统包,排行榜系统包,登录系统包等等
- 小项目,一个包,所有资源都在一起
根据实际情况选择即可
5.2 知识点代码
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class Lesson05_FGUI基础_基础知识_包的概念 : MonoBehaviour
{
void Start()
{
#region 知识点一 包的定义
//包是FairyGUI中用于组织资源的
//它在文件系统中体现为一个目录,assets文件夹下的每个子目录都表示一个包
//最终我们打包时也是以包为单位进行打包的
//每个包中都有一个package.xml文件,它是用于记录这个包中的资源对应信息的,是非常重要的文件
//包发布后可以得到一个描述文件和一张或多张纹理集(图集)
//我们在引擎中使用时,就是根据这个描述文件使用纹理中的图片来创建UI的
#endregion
#region 知识点二 新建包
//菜单栏——>资源——>新建包(或者点击快捷按钮)
#endregion
#region 知识点三 包的依赖
//FairyGUI不处理包之间的依赖
//假设有两个包A和B
//A用到了包B中的元件,那么在使用A中内容时需要先手动加载包B相关内容
#endregion
#region 知识点四 资源URL地址
//在FairyGUI中每个资源都对应了一个资源URL地址
//选中一个资源,右键,会出现复制URL,就可以得到它的资源地址
//无论在编辑器还是代码中 我们都可以通过资源地址来得到资源 比如:ui://c8d1gzdo8m7b4
//但是我们使用的话可以通过资源URL地址规则 不一定要使用URl
//资源URL地址规则:ui://包名//资源名 比如 ui://FGUI教程//ui_DL_an_quxiao_01
//注意:该格式地址是不包含文件夹的,只需要用包名和资源名
#endregion
#region 知识点五 划分包的原则
//划分包的原则:
//不要建立交叉引用
//公共资源放在公共包中
//避免A用B,B用C这种复杂的关系
//建议:
//1.大项目,一个模块一个包,比如背包系统包,排行榜系统包,登录系统包等等
//2.小项目,一个包,所有资源都在一起
//根据实际情况选择即可
#endregion
}
}
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com