Egret社区

assetsManager 该怎么用

2018-5-2 14:34
372613
1银子
本帖最后由 vpeeee 于 2018-5-2 14:34 编辑

之前一直没管assetsManager, 现在发现小游戏4M的限制后, 想用assetsManager, 但是没找到一篇完整的教程, 于是新建了个项目, 把里面的一些配置抄过来了, 也按"使用 AssetsManager 解决微信小游戏包体积尺寸限制问题" 改了, 出现了两个问题, 发布时资源组默认就一个preload, 然而我的资源组不是这样的, 自己琢磨了下config.wxgame.ts , 按照资源所放的文件夹名称去判断该用哪个资源组名, 不知道对不对, 但是可行. 还有一个问题是 sheet加载, 开始类型一直是json, 后面发现config.ts里面typeSelector里面, sheet类型的文件应该放在sheet的目录, 我于是把sheet文件都移进去了, 类型是对了, 但是加载并不成功, 问题我也知道, 下面三张图可以看出来, 但是不知道怎么解决

QQ图片20180502135826.png
QQ图片20180502135847.png
QQ图片20180502135931.png
分享到 :
0 人收藏

13 个回复

正序浏览
秋天不回来  登堂入室 | 2018-5-28 10:31:54
Wander 发表于 2018-5-15 11:17
目前稳定版本很快就会出来了!后续我们的重点工作就是完善 assetsmanager 和 自定义插件这一系列的文档 ...

有个问题链接地址http://bbs.egret.com/thread-48429-1-1.html
haolin.chen  登堂入室 | 2018-5-15 11:36:42
wssznh 发表于 2018-5-15 11:22
现在EmitResConfigFilePlugin插件最大的问题就是没有处理提前和好的雪碧图,只能处理由TextureMergerPlugi ...

希望只有这里有坑
wssznh  登堂入室 | 2018-5-15 11:22:17
Wander 发表于 2018-5-15 11:18
这句话有另一种表达方式就是 “开发者可以根据自己的特定需求进行自由扩展”  - - ...

现在EmitResConfigFilePlugin插件最大的问题就是没有处理提前和好的雪碧图,只能处理由TextureMergerPlugin生成的雪碧图,而且没有处理用RenamePlugin重命名之后对应图片路径改变的问题,导致各种问题出现
haolin.chen  登堂入室 | 2018-5-15 11:21:11
Wander 发表于 2018-5-15 11:17
目前稳定版本很快就会出来了!后续我们的重点工作就是完善 assetsmanager 和 自定义插件这一系列的文档 ...

官方发话了,这次感觉比较靠谱
Wander  官方团队 | 2018-5-15 11:18:51
haolin.chen 发表于 2018-5-15 11:05
233,感觉这个自定义插件就是用来给开发者们临时填坑用的

这句话有另一种表达方式就是 “开发者可以根据自己的特定需求进行自由扩展”  - -
Wander  官方团队 | 2018-5-15 11:17:55
wssznh 发表于 2018-5-15 10:31
这个assetsmanager目前还是个半成品,很多配套的插件官方都没有完善好,所有容易出各种问题,毕竟现在5.1.x版 ...

目前稳定版本很快就会出来了!后续我们的重点工作就是完善 assetsmanager 和 自定义插件这一系列的文档
haolin.chen  登堂入室 | 2018-5-15 11:05:27
wssznh 发表于 2018-5-15 10:31
这个assetsmanager目前还是个半成品,很多配套的插件官方都没有完善好,所有容易出各种问题,毕竟现在5.1.x版 ...

233,感觉这个自定义插件就是用来给开发者们临时填坑用的
wssznh  登堂入室 | 2018-5-15 10:31:04
本帖最后由 wssznh 于 2018-5-15 10:34 编辑

这个assetsmanager目前还是个半成品,很多配套的插件官方都没有完善好,所有容易出各种问题,毕竟现在5.1.x版本的引擎还只是beta版本,不稳定是正常的
haolin.chen  登堂入室 | 2018-5-15 10:17:19 来自手机
wssznh 发表于 2018-5-14 22:00
这个问题可以通过自定义插件解决,
/**
* 示例自定义插件,您可以查阅 http://developer.egret.com/cn/2d ...

确实自定义控件可以解决大部分问题,但是我希望官方给个说法而已,从官方发帖看来这个assetsmanager是很牛逼的,为啥出来的东西缺这缺那的
wssznh  登堂入室 | 2018-5-14 22:00:16
haolin.chen 发表于 2018-5-14 20:55
https://github.com/egret-labs/egret-core/issues/259

这个问题可以通过自定义插件解决,
/**
* 示例自定义插件,您可以查阅 http://developer.egret.com/cn/2d ... dExtensionPluginin/
* 了解如何开发一个自定义插件
*/
export class CustomPlugin implements plugins.Command {
    private contentsStr: string = "";
    constructor() {
    }
    async onFile(file: plugins.File) {
        const extName = file.extname;
        if (extName === ".json") {
            let data = JSON.parse(file.contents.toString());
            if (data.file && data.frames) {
                data.file = data.file = data.file.replace(".", "_");
                file.contents = new Buffer(JSON.stringify(data));
                let subkeys = [];
                for(let key in data.frames){
                    subkeys.push(key);
                }
                file.options = {type:"sheet", subkeys:subkeys.join(",")};
            }
        }
        // if (extName == ".js" && file.extname.indexOf("libs/modules/egret/") && file.extname.indexOf(".min")) {
        //     this.contentsStr += file.contents.toString();
        //     return null;
        // }
        return file;
    }
    async onFinish(commandContext: plugins.CommandContext) {

        // commandContext.createFile("merfile.js", new Buffer(this.contentsStr));
    }
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

返回顶部