还是子域的问题,createImage方法里最后加上wx.getSharedCanvas().getContext(‘2d’).drawImage(image, x,y,width,height)
用coco那个loader好像有问题,后来用的微信的,if (CC_WECHATGAME) {
console.log(‘微信图片拉取’);
try {
const image = wx.createImage();
image.onload = () => {
try {
const texture = new cc.Texture2D();
texture.initWithElement(image);
texture.handleLoadedTexture();
const spriteFrame = new cc.SpriteFrame(texture);
self.iconData[avatarUrl] = spriteFrame; // 存储图片
this.refreshIcon(node, spriteFrame);
} catch (e) {
cc.log(e);
// node.active = false;
}
};
image.src = avatarUrl;
} catch (e) {
cc.log(e);
// node.active = false;
}
}
avatarUrl这个就是从数据域拿到的头像地址
老哥你用的2.0吗
如果还是不行,那就应该不是方法问题了,检查下其他代码
用的1.9.2
我再试一下 不行的话我也用低版本
你2.0的啊。。。。2.0好像是有这个问题。
const img = wx.createImage();
img.src = ` `;
img.onload = () => {
wx.getSharedCanvas().getContext('2d').drawImage(img, x,y,width,height)
};
确定下渲染模式是不是canvas ,微信子域只支持canvas渲染,如果已经升级到2.0,那么用1.x的来打包子域工程,还有就是检查有没有在子域中更新子域展示
微信子域为什么不能用cc.loader.load? 我现在就在用,而且用的好好的
createImage(url)
{
const img = wx.createImage();
img.src = url;
img.onload = () => {
wx.getSharedCanvas().getContext(‘2d’).drawImage(img, x,y,width,height)
};
}
x,y,width,height是图片要放到的位置坐标 和宽高
解决了 不是代码问题 我卸载2.0 装回了1.9版本的 就好了 希望cocos团队下次升级之前先测试下bug好吧 坑死我了。。。
2.0版本子域不加载微信头像问题已经在论坛中说了好多次了
楼上有一个贴出来已经修复了,还没打包发出来呢。
多看看发布帖就发现了。
等下个版本出来后不用改代码自己就好了。
我的项目暂时先把头像隐藏了。
官方修复 什么时候发布新版本呀 我也是搞了一天一夜愁死我了 以为是我哪里用不对,幸好看到你也越到这种问题。。。。
论坛里回答的都不明确,浪费我不少时间。
bug fix: 补充小游戏子域头像显示问题
如果像我一样死脑筋就喜欢cc2.0.0,并且也不想直接改安装目录下的代码,那就用开发中的引擎:引擎定制
提醒,commit: improve modular,让我打包到微信出了问题(DebugInfos找不到,子域下CCRenderTexture.js找不到),所以目前我也只把引擎代码更新到这个commit: fix macro type (#3070)。


