如何利用开放数据域为微信小游戏添加社交关系链玩法社交关系链、虚拟支付能力。但让一些开发者感到困惑的是“如何利用开放数据域为微信小游戏添加社交关系链玩法”。本图来自微信小游戏排行榜。小游戏不仅打通了用户注册,还打通了关系链数据。有了这些数据,普通开发者也可以开发出类似的排名功能。有了关系链数据,可玩性会大大增加,玩家之间的互动也会给游戏带来更多的乐趣。小游戏主要提供两个API接口,wx.getFriendCloudStorage()和wx.getGroupCloudStorage()。但为了保护关系链数据,小游戏加入了开放数据字段的概念。开放数据字段只能在离屏画布(sharedCanvas)上使用。此画布和主字段可以共享。我们需要将sharedCanvas绘制到主字段。在domain上,这个过程需要开发者接触底层的canvasAPI,会给不熟悉的同学带来很大的不便,因此EgretEngine对其进行了进一步的优化和封装。请开发者先阅读微信小游戏的开放数据文档,以便对关系链有更好的理解。使用示例:1.介绍EgretEngine使用开放数据域的原理。关系链数据必须在开放数据域中获取。引擎通过window["sharedCanvas"]接口获取主域中的sharedCanvas,然后直接将sharedCanvas作为egret.Bitmap的egret.BitmapData,添加到主域的stage中。这给使用带来了极大的方便。2.由于开放数据域是一个封闭独立的JavaScript作用域,所以必须建立两个egret项目,主域项目(egretToWxDemo)和开放数据域项目(myOpenDataContext)。为了减小小游戏的体积,开放数据域项目只保留egret、game两个模块。关于图片的加载,可以使用Egret提供的egret.ImageLoader或者直接使用微信小游戏原生提供的Image对象。3.将主域项目发布到启动器中的小游戏项目中。发布成功后会得到一个egretToWxDemo_wxgame文件夹,然后需要添加配置项openDataContext指定game.json中开放数据域的代码目录。这里我们填写openDataContext,稍等片刻我们准备在这里发布我们的OpenDataDomain项目。修改Main.ts文件,将离屏画布绘制到主域;//主要示例代码开始constbitmapdata=newegret.BitmapData(window["sharedCanvas"]);位图数据.$deleteSource=false;consttexture=newegret.Texture();texture._setBitmapData(位图数据);this.bitmap=newegret.Bitmap(texture);this.bitmap.width=this.stage.stageWidth;this.bitmap.height=this.stage.stageHeight;这。addChild(this.bitmap);egret.startTick((timeStarmp:number)=>{egret.WebGLUtils.deleteWebGLTexture(bitmapdata.webGLTexture);bitmapdata.webGLTexture=null;returnfalse;},this);//主要示例代码结束{"deviceOrientation":"portrait","networkTimeout":{"request":5000,"connectSocket":5000,"uploadFile":5000,"downloadFile":5000},"openDataContext":“openDataContext”}4。使用wing打开开放数据域项目,打开egretProperties.json配置模块,保留egret、game、'promise'模块,删除resource目录下的所有内容,这是为了减小游戏体积。“模块”:[{“名称”:“白鹭”},{“名称”:“游戏”},{“名称”:“承诺”}]5。打开开放数据域脚本目录文件中的config.wxgame.ts。将输出路径(outputDir)修改为../egretToWxDemo_wxgame/openDataContext,然后将demo中的wxgame.ts插件替换到脚本的wxgame目录下。6、由于开放数据域可以使用主域的图片资源,所以我们直接使用主域的图片修改Main.ts文件。限于篇幅,详见示例demo。7.在启动器中将开放数据域项目发布为小游戏。此时发布的目录可能不正确。不要着急,回到开放数据域项目,执行egretpublish--targetwxgame命令。如果报错,请登录主域在已发布的小游戏项目中找到openDataContext目录,创建index.js文件,返回开放数据域项目执行egretpublish--targetwxgame命令。正常后,发布成功,如图。注意:帧率必须为60帧。避免屏幕闪烁。开发完成后,数据域尽量少用库。如果您在开发过程中遇到任何问题,请登录官方论坛进行讨论。示例DEMO下载请访问https://github.com/peony-ma/w...
