-
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.width0.5,
height: res.height0.5,
}
})
self.wxButton.onTap((res) => {
console.log(res);
self.login(res);
})
微信远程加载的图片,通过cc.loader.load加载后,通过res.url获取到的只是在assets中图片的位置,并不是图片真实的缓存地址。
而且你这个逻辑不觉得绕么,这种图片就直接放http服务器上,createUserInfoButton中直接填网络地址就可以了啊,就算要更新图片,也只是服务器上的图片替换覆盖一下就行了啊
是希望图片都放在res文件夹下统一管理,不支持这样的话就只好单独把图片放在服务器上了