微信小游戏获取关系链数据的问题

@441414288 请问怎么在主域设置Sharedcanvas 的hight呢?

只能在主域里面设置sharedcanvas的大小

    var openDataContext = wx.getOpenDataContext()
    var sharedCanvas = openDataContext.canvas
    sharedCanvas.width = 586
    sharedCanvas.height = 720

    //发送消息通知开放数据域,生成sharedCanvas
    openDataContext.postMessage({
        method:'showFriendRank',
        ticket:this.global.shareTicket,
        pageIndex: 1,
        mode: this.global.mode,
    });

    var self = this
    var main = function() {
        var texture = new cc.Texture2D()
        if (texture) {
            texture.initWithElement(sharedCanvas)
            texture.handleLoadedTexture()

            self.rankSprite.spriteFrame = new cc.SpriteFrame(texture)
        }
    }

    setTimeout(main, 1000);
1赞

谢谢 很及时

为什么我的这样操作,显示不了

请问解决了没有。。同求这个问题

哪位大大能给一个最简单的demo啊?我这里怎么放index.js都报module “src/index.js” is not defined?

微信开发者工具里把工程删除,重新建一个工程就好

很蛋疼的是,子域取数据是异步的。而主域并不知道什么拿到好友游戏数据。所以当数据还没到时就把sharedCanvas画到主域上,可能是空的

循环绘制啊

你是说放在定时器里一直绘制吗。好傻的方法~

我发现只要游戏进入了,子域就开始运行了。

请问这个问题解决了么

解决了,主域里设置宽高固定,滑动时传入移动的距离重绘,达到类似scrollView的视觉效果

发布成 canvas 渲染模式,就可以用canvas.getContext(‘2d’)。但是也没办法通过这个上屏画布的context 来绘制自己的内容,比如 排行榜用到的sharedCanvas 。。。这个是 cocos 在微信小游戏的大坑!。。。官方还没解决

刚又翻了一下文档,好像已经有解决方法了 http://docs.cocos.com/creator/manual/zh/publish/publish-wechatgame-sub-domain.html?h=texture2d

我这边调用self.rankSprite.spriteFrame = new cc.SpriteFrame(texture)的时候,会报错:Cannot set property ‘spriteFrame’ of undefined。在文档里也没有找到有关 rankSprite 的说明,有这个属性的吗?

但是用起来不太好用啊
而且会有个问题,就是子包代码包过大

请问楼主 这个怎么解决 有没有遇到过呢

头大啊,还是不会