Egret微信小游戏好友排行榜教程

版权声明:转载请告知 https://blog.csdn.net/qq_27142347/article/details/83049169

https://mp.weixin.qq.com/s/kYIdnHv-C5KuR9snekPNBg

https://mp.weixin.qq.com/s/PA2sfcGxNfix7sJ8ysy9AA

官方文档。

https://www.jianshu.com/p/600543c4be42 

比较可以的一个文章。

步骤:

1.在platform中添加一个变量。opendatacontext,是一个自己封装的类的实例

2.自己类中

封装一个方法。

 createDisplayObject(type, width, height) :egret.Bitmap{
        let sharedCanvas = window["sharedCanvas"] as any;//可以理解为得到wx的sharedCanvas,作为Bitmap,然后在添加到自己的舞台上
        const bitmapdata = new egret.BitmapData(sharedCanvas);
        bitmapdata.$deleteSource = false;
        const texture = new egret.Texture();
        texture._setBitmapData(bitmapdata);
        const bitmap = new egret.Bitmap(texture);//得到Bitmap
        bitmap.width = width;
        bitmap.height = height;

        if (egret.Capabilities.renderMode == "webgl") {
            const renderContext = (egret as any).wxgame.WebGLRenderContext.getInstance();
            const context = renderContext.context;
            ////需要用到最新的微信版本
            ////调用其接口WebGLRenderingContext.wxBindCanvasTexture(number texture, Canvas canvas)
            ////如果没有该接口,会进行如下处理,保证画面渲染正确,但会占用内存。
            if (!context.wxBindCanvasTexture) {
                egret.startTick((timeStarmp) => {
                    egret.WebGLUtils.deleteWebGLTexture(bitmapdata.webGLTexture);
                    bitmapdata.webGLTexture = null;
                    return false;
                }, this);
            }
        }
        return bitmap;
    }
 

3.把开放域理解为一个节点。在需要的地方添加它就可以。例如:this.addChild(开放域).

添加进来之后需要向子域发消息。

//显示开放域数据     

this.bitmap = plathform.openDataContext.createDisplayObject(null,                       this.stage.stageWidth, this.stage.stageHeight);//这里创建的就是整个开放域界面的大小,最好与开放域所获得的宽高一致,也可以从主域传入到子域。两边最好保持一致

this.addChild(this.bitmap);

           //主域向子域发送数据

           plathform.openDataContext.postMessage({

               isRanking: this.isRankClick,

               text: "egret",

               year: (new Date()).getFullYear(),

               command: "open"

           });

4.egret在opendata文件下的index.js中已经写好了一个排行榜。自己可以做修改。

猜你喜欢

转载自blog.csdn.net/qq_27142347/article/details/83049169