cocos creator发布小游戏,小游戏引用本地图片出错

  • Creator 版本:v2.0.4

  • 目标平台: 微信小游戏

  • 详细报错信息,包含调用堆栈:VM1068:2 ENOENT: no such file or directory

  • 重现方式:调用微信的api用到了包内的图片,在本地没问题,把res文件夹传到服务器上就报图片找不到,调用方式如下
    cc.loader.loadRes(‘textures/login_btn’,cc.Texture2D, function(error, res){
    let size = cc.view.getFrameSize();
    var url = res.url;
    // 发布开启了“MD5 Cache”需要用此方法转换
    if (cc.loader.md5Pipe) {
    url = cc.loader.md5Pipe.transformURL(url);
    }
    self.wxButton = wx.createUserInfoButton({
    type: ‘image’,
    image: url,
    style: {
    left: (size.width-res.width*0.5)0.5,
    top: size.height-(220+res.height)0.5,
    width: res.width
    0.5,
    height: res.height
    0.5,
    }
    })
    self.wxButton.onTap((res) => {
    console.log(res);
    self.login(res);
    })

微信远程加载的图片,通过cc.loader.load加载后,通过res.url获取到的只是在assets中图片的位置,并不是图片真实的缓存地址。
而且你这个逻辑不觉得绕么,这种图片就直接放http服务器上,createUserInfoButton中直接填网络地址就可以了啊,就算要更新图片,也只是服务器上的图片替换覆盖一下就行了啊

是希望图片都放在res文件夹下统一管理,不支持这样的话就只好单独把图片放在服务器上了