微信小游戏 sharedCanvas 绘制

在子域 sharedCanvas 中设置 ctx.fillStyle = ‘#0000ff’ 之后,整个 sharedCanvas 被该颜色色铺满,原因未知,求大神解答

主域 canvas 节点绑定的脚本组件

cc.Class({
    extends: cc.Component,

    properties: {
        display: cc.Sprite
    },

    // LIFE-CYCLE CALLBACKS:

    onLoad () {
    },

    start () {
        this.tex = new cc.Texture2D()
        let openDataContext = wx.getOpenDataContext()
        let sharedCanvas = openDataContext.canvas
        sharedCanvas.width = 512
        sharedCanvas.height = 2048

        wx.setUserCloudStorage({
            KVDataList: [
                { key: 'score', value: '50'},
                { key: 'age', value: '20'}
            ],
            success: res => {
                console.log('set success res =>', res)
                openDataContext.postMessage({
                    text: 'hello'
                })
            },
            fail: res => {
                console.log('set fail res =>', res)
            }
        })
    },
    _updateSubDomainCanvas () {
        if (!this.tex) {
            return;
        }
        var openDataContext = wx.getOpenDataContext()
        var sharedCanvas = openDataContext.canvas
        this.tex.initWithElement(sharedCanvas)
        this.tex.handleLoadedTexture()
        this.display.spriteFrame = new cc.SpriteFrame(this.tex)
    },
    update () {
        this._updateSubDomainCanvas()
    }
    // update (dt) {},
});

子域canvas 脚本组件代码

cc.Class({
    extends: cc.Component,

    properties: {
    },

    // LIFE-CYCLE CALLBACKS:

    onLoad () {
    },

    start () {
        console.log('i am subcontext!')
        
        wx.onMessage(data => {
            wx.getFriendCloudStorage({
                keyList: ['score', 'age'],
                success: res => {
                    let result = res.data
                    let sharedCanvas = wx.getSharedCanvas()
                    let ctx = sharedCanvas.getContext('2d')
                    ctx.fillStyle = '#0000ff'
                }
            });
        })
    }
});

出来的效果: