Egret社区
本帖最后由 aran1177 于 2018-6-22 17:36 编辑

小游戏,改loadingui,发现RES.getResByUrl不能用,何解? 把loadingui往下移到 加载完主题后就可以了.!!
分享到 :
0 人收藏

2 个回复

倒序浏览
linxiaosheng  登堂入室 | 2018-6-20 18:49:40
分组吧
肉饼哥  登堂入室 | 2018-7-3 18:43:54
引擎的RES 源码中的getResByUrl 是这样写的,   
export function getResByUrl(url: string, compFunc: Function, thisObject: any, type: string = ""): void {
        instance.getResByUrl(url, compFunc, thisObject, type);
    }

但是在该类中Instance 一开始没有初始化,源码是这样的。
/**
     * Resource单例
     */
    var instance: Resource;
但是如果一开始调用了RES.loadConfig 后面就可以用getResByUrl .因为源码是这样写的:
/**
     * 加载配置文件并解析。
     * @see #setMaxRetryTimes
     * @version Egret 2.4
     * @platform Web,Native
     * @language zh_CN
     */
    export function loadConfig(url: string, resourceRoot: string) {
        if (resourceRoot.indexOf('://') >= 0) {
            const temp = resourceRoot.split('://');
            resourceRoot = temp[0] + '://' + path.normalize(temp[1] + '/');
        }
        else {
            resourceRoot = path.normalize(resourceRoot + "/");
            url = url.replace(resourceRoot, '');
        }
        setConfigURL(url, resourceRoot);
        if (!instance) instance = new Resource();
        return instance.loadConfig();
    }。
这个官方应该修复一下。我等了好几个版本到现在还没修复。老版的RES instance 默认就初始化了。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|京网文[2014]0791-191号|京ICP证150115号|Egret社区 ( 京ICP备14025619号 )

Powered by Discuz! X3.4 © 2001-2019 Comsenz Inc.

返回顶部