游戏开发之资源加载管理器

前言

在我的框架中一直没有提供加载相关的内容。因为我觉得资源管理器的接口都已经提供了,而资源怎么加载是一件相对比较灵活的事情,所以一直没有提供与加载相关的内容。但是后来居然不止一个人问我如何加载资源?于是我将自己的使用方式简单讲解一下。如果有什么不对的地方,还望大家留言指教。

注意事项

  • 加载的资源是由哪个Bundle提供的?
  • 加载的资源的类型是什么?
  • 不同类型的资源加载后是否有特殊的操作?
  • 同步加载还是异步加载?
  • 有些资源加载失败了会如何处理?
  • 资源加载的顺序是怎样的

问题解析

  1. 对于第一个问题,我们必须要明确我们加载的资源隶属于哪个Bundle。否则加载肯定会因报错而失败。所以普通资源肯定是要在Bundle加载之后的。对于Bundle如何组织请看我之前的文章《CocosCreator之AssetBundle使用方案分享》。对于资源如何加载请看我之前的文章《游戏开发之资源管理(跨引擎)》
  2. 资源的类型也是需要指定的。即使有些引擎没有类型这个概念,你为了统一使用也可以自定义一套类型。比如我的资源管理器使用的就是我自己定义的ResType.是与任何引擎都无关的。当然每个资源还有一个url属性。加上资源属于哪个Bundle,刚好有三个属性。
import { ResType } from "./ResInterface";

export default class LoadingItem {

    //资源id
    protected url: string;

    //资源类型
    protected type: ResType;

    constructor(url: string, type: ResType) {
        this.url = url;
        this.type = type;
    }

    getUrl() {
        return this.url;
    }

    getType() {
        return this.type;
    }

}


export default class LoadResItem extends LoadingItem {

        //BundleID

        protected moduleID: string;

    constructor( url: string, type: ResType,mid: string) {
        super(url, type)

        this.moduleID = mid;
    }

  
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值