再一次吐槽异步加载文件的奇葩

选什么你自己能决定你就不用打工了。。。。

看不懂关冒泡什么事,而且 event 是不能异步使用的。

逼装大了

确实,现在onload里调用loadres,切完场景还会看到老图一闪而过变新图,当然你们可以说你可以加个loading动画先把需要的图片load后就好了啊,我想说我并不想加一个loading。。一个小游戏而已,还加loading…

请问下现在引擎支持同步加载资源吗?

异步就是同步,同步也可异步,只是写法不同而已.

异步变同步就是回调,promise.then(),async/await
同步变异步就是用promise封装一层

补一个我自己load封装,ts版本

    /**
     * 载入单个资源
     * - 输出log
     * @todo ts的类型系统(特别是泛型这一块)需要进一步学习,争取去掉<any>强制类型转换
     * @param path 
     * @param type 
     * @static
     */
    static load_res<T extends typeof cc.Asset>(path: string, type: T): Promise<InstanceType<T>> {
        return new Promise(res => {
            cc.loader.loadRes(path, type, (err, resource) => {
                if (err) {
                    res(null)
                } else {
                    res(resource)
                }
            })
        })
    }

    /**
     * 载入dir资源
     * - 输出log
     * @param path 
     * @param type 
     * @static
     */
    static load_res_dir<T extends typeof cc.Asset>(path: string, type: T): Promise<InstanceType<T>[]> {
        return new Promise(res => {
            cc.loader.loadResDir(path, type, (err, resource) => {
                if (err) {
                    res(null)
                } else {
                    res(resource)
                }
            })
        })
    }
3赞