子域的信息渲染到主域
在我们制作微信小游戏的时候基本上一定会用到排行榜,而制作好友排行榜的时候就涉及到子域问题,子域渲染到主域问题还不是一般的少,这里总结一下我遇到的子域渲染到主域的几个问题:
-
子域界面怎么渲染到屏幕上:
因为子域主要是为了保护用户隐私,主域是不可能拿到子域的任何信息,因此,微信中使用sharedcanvas来实现子域信息渲染。好消息是子域可以自行接收玩家的Touch事件等。首先,在主域中创建一个节点,如图所示:
其中可能没有接触过的模块也就是WXSubContentView,这个模块是Cocos Creator为了微信的子域专门新增的模块。这个模块主要解决Touch事件偏离问题。
然后在这个节点上添加代码,示例如下:这段代码的主要功能就是创建一个Texture2D,把sharedCavas的内容赋值给这个Texture2D,然后通过this.sprite.spriteFrame = new cc.SpriteFrame(this.texture);赋值给精灵。
cc.Class({
extends: cc.Component,
onLoad : function () {
this.texture = new cc.Texture2D();
this.sprite = this.getComponent(cc.Sprite);
this.subContextView = this.getComponent(cc.WXSu