QFramework 使用指南 2020(七):Res Kit (1)概述与基本使用

在上一篇,我们刚刚结束了 脚本生成专题,我们知道 QF 提供了两种脚本生成模式,一种是 ViewController + Bind ,另一种是 UI Kit 模式。

本来打算,介绍完 ViewController + Bind 模式后,再介绍 UI Kit 模式。

但是在学习 UI Kit 之前,我们需要先了解一点 Res Kit。

Res Kit 简介

Res Kit,是 QF 的一大杀器,顾名思义,它是负责资源的。

特性如下:

可以使用一个 API 从 dataPath、Resources、StreammingAssetPath、PersistentDataPath、网络等地方加载资源。

基于引用计数,简化资源加载和卸载。

拥抱游戏开发流程中的不同阶段

开发阶段不用打 AB 直接从 dataPath 加载。

测试阶段支持只需打一次 AB 即可。

可选择生成资源名常量代码,减少拼写错误。

异步加载队列支持

对于 AssetBundle 资源,可以只通过资源名而不是 AssetBundle 名 + 资源名 加载资源,简化 API 使用

废话不多说,直接开始从最基本的使用开始 。

Res Kit 基本使用

我们知道,在一般情况下,有两种方式可以让我们实现动态加载资源:

Resources

AssetBundle

在 Res Kit 中,推荐使用 AssetBundle 的方式进行加载,因为 Res Kit 所封装的 AssetBundle 方式,比 Resources 的方式更好用。

除了 Res Kit 中的 AsseBundle 方式更易用外,AssetBundle 本身相比 Resources 有更多的优点,比如更小的包体,支持热更等。

废话不多说,我们看下 Res Kit 的基本使用。

Res Kit 在开发阶段,分为两步。

标记资源

写代码

在开始之前,我们要确保,当前的 Res Kit 环境为模拟模式。

按下快捷键 ctrl + e 或者 ctrl + shift + r ,我们可以看到如下面板:

image.png

我们要确保上图中的模拟模式为勾选状态。

确保环境之后,我们就可以开始进行资源的标记工作了。

1. 资源标记

在 Asset 目录下,只需对需要标记的文件或文件夹右键->@ResKit- AssetBundle Mark,如下所示:

image.png

标记成功后,我们可以看到如下结果:

该资源标记的选项为勾选状态

image.png

该资源的 AssetLabel 中的名字如下

image.png

这样就标记成功了。

2.资源加载

接下来我们直接写资源加载的代码即可,代码如下,具体的代码含义,看注释即可。。

using QF.Res; using QF.Extensions; using UnityEngine; namespace QF.Example { public class TestResKit : MonoBehaviour { void Awake () { // 全局只需初始化一次 ResMgr.Init (); } /// <summary> /// 每一个需要加载资源的单元(脚本、界面)申请一个 ResLoader /// ResLoader 本身会记录该脚本加载过的资源 /// </summary> /// <returns></returns> ResLoader mResLoader = ResLoader.Allocate (); void Start () { // 通过 LoadSync 同步加载资源 // 只需要传入资源名即可,不需要传入 AssetBundle 名。 mResLoader.LoadSync<GameObject> ("TestObj") .Instantiate (); } void OnDestroy() { // 释放所有本脚本加载过的资源 // 释放只是释放资源的引用 // 当资源的引用数量为 0 时,会进行真正的资源卸载操作 mResLoader.Recycle2Cache(); mResLoader = null; } } }

将此脚本挂到任意 GameObject 上,运行后,结果如下:

image.png

资源加载成功。

到此,Res Kit 的基本使用就介绍完毕。

从下篇开始,开始逐步介绍 Res Kit 的方方面面。

此篇内容就这些。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wsswjw.html