子域加载微信头像问题

请参考 https://github.com/cocos-creator/creator-docs/blob/master/zh/publish/publish-wechatgame-sub-domain.md

能不能让子域的代码直接用主域的代码?因为至少引擎部分是一样的,没必要上两份。

这个不行的,文档上明确说明

我也碰到这个问题,子域项目获取不到头像地址。

用4楼的解决了,谢谢
createImage(sprite,url){
let image = wx.createImage();
image.onload = function () {
let texture = new cc.Texture2D();
texture.initWithElement(image);
texture.handleLoadedTexture();
sprite.spriteFrame = new cc.SpriteFrame(texture);
};
image.src = url;
},

1赞

子域和主域能否合并一套引擎呢,本来空间就很宝贵,现在引擎就占用了2M多。

去掉没有必要的库

cc.loader.load({url: userInfo.avatarUrl, type: ‘jpg’}, function(err, tex) {
yourSpriteNode.spriteFrame.setTexture(tex)
})

1赞

子域是一套完全的代码,不仅仅是cocos2d-js。我这里占用是1M多

不行的,子域是相当于在另外一个frame上运行了。试想下,不同域名的网站,js是不能跨域的。

这个问题的修复在后续的版本中,wx-downloader 会加入 http 等 protocol 的过滤代码

https://github.com/cocos-creator/fireball/commit/6e184b2defb00ff852c2308f90d56ebc4b0e77ca#diff-3323e5057059dd1cb98059c9b292829fR220

嗯,对的,已经修复了

现在用的1.9.1 用了这个方法 可以正常显示头像了 不过父节点的mask效果没有了 正常不用这个是可以 想问这是我我设置的问题吗

没效果的话,在项目设置的模块面板中查看一下是否有勾选 mask 模块

大大,用JQ写能提供个大概的思路吗?现在我的主域实在是压缩不了大小了:tired_face:

creater 2.0.0用这种方法,显示不出头像,onload回调是有的



createImage(sprite,url){
    let image = wx.createImage();
    image.onload = function () {
        let texture = new cc.Texture2D();
        texture.initWithElement(image);
        texture.handleLoadedTexture();
        texture.url = url;// 你可以暂时加这句话,如果不想可以等待新版本
        sprite.spriteFrame = new cc.SpriteFrame(texture);
    };
    image.src = url;
}

加了也不行哦

1赞

2.0.0c此方法无用,有解决方案吗??

2.0.1添加QQplay头像怎样做?我用如下两种方案都不行。请帮忙看看,谢谢。
cc.loader.load({url: url_, type: ‘jpg’},function(err,texture){
let sprite_ = ImageHead.getComponent(cc.Sprite);
//sprite_.spriteFrame = new cc.SpriteFrame(tex);
sprite_.spriteFrame.setTexture(texture);
}.bind(this))
cc.loader.loadRes(url_, cc.SpriteFrame, function (err, spriteFrame) {
ImageHead.getComponent(cc.Sprite).spriteFrame = spriteFrame;
console.log(".load–spriteFrame>>"+spriteFrame);
console.log(".load–err>>"+err);
}.bind(this))