QFramework框架学习——资源加载

QFramework框架学习

前言

Res Kit,是资源管理&快速开发解决方案

特性如下:

可以使用一个 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 有更多的优点,比如更小的包体,支持热更等。

二、使用步骤

1.使用方式

代码如下(示例):

using QFramework;
using System.Collections.Generic;
using UnityEngine;

public class LoadAsync : MonoBehaviour
{
    ResLoader mResLoader = ResLoader.Allocate();
    public List<string> assetNames;
    public Transform InstanceParent; 
    // Start is called before the first frame update
    [ContextMenu("Copy")]
    void Start()
    {
        ResMgr.Init();
        InstanceParent = GameObject.Find("Models").transform;
        //异步加载
        for (int i = 0; i < assetNames.Count; i++)
        { 
            mResLoader.Add2Load(assetNames[i], (succeed, res) =>
            {
                if (succeed)
                {
                    if (InstanceParent != null)
                    {
                        res.Asset.As<GameObject>().Instantiate().transform.parent = InstanceParent;
                    }
                    else
                    {
                        res.Asset.As<GameObject>().Instantiate();
                    }

                }
            });
        }
        mResLoader.LoadAsync(ResourceLoadingCompleted);
    }

    /// <summary>
    /// 资源加载完成后的处理
    /// </summary>
    private void ResourceLoadingCompleted()
    {
         
    }


    private void OnDestroy()
    {
        mResLoader.Recycle2Cache();
        mResLoader = null;
    }
}

  • 4
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值