Egret白鹭开发微信小游戏程序跳转功能(由一个小游戏跳转到另一个小游戏)

假设我们要实现的功能是从小游戏A跳转到小游戏B

对于小游戏A:

(1)在platform.ts中添加代码如下:

1/** 2 * 平台数据接口。 3 * 由于每款游戏通常需要发布到多个平台上,所以提取出一个统一的接口用于开发者获取平台数据信息 4 * 推荐开发者通过这种方式封装平台逻辑,以保证整体结构的稳定 5 * 由于不同平台的接口形式各有不同,白鹭推荐开发者将所有接口封装为基于 Promise 的异步形式 6 */ 7declare interface Platform { 8 9 getUserInfo(): Promise<any>; 10 11 login(): Promise<any>; 12 //调转 13 navigateToMiniProgram():Promise<any>; 14 15} 16 17class DebugPlatform implements Platform { 18 async getUserInfo() { 19 return { nickName: "username" } 20 } 21 async login() { 22 } 23 async navigateToMiniProgram(){ 24 25 } 26 27} 28if (!window.platform) { 29 window.platform = new DebugPlatform(); 30} 31declare let platform: Platform; 32 33declare interface Window { 34 35 platform: Platform 36}

(2)在main.ts中定义一个跳转按钮并调用platform.ts的方法

1    //跳转 2 let stepBtn = new eui.Button(); 3 stepBtn.label = "跳转"; 4 stepBtn.x=550; 5 stepBtn.y=550; 6 this.startPanel.addChild(stepBtn); 7 stepBtn.addEventListener(egret.TouchEvent.TOUCH_TAP, ()=>{ 8 platform.navigateToMiniProgram(); 9 }, this);

(3)发布成微信小程序,使用微信开发工具打开,在platform.js中添加代码如下:

1 navigateToMiniProgram() { 2 return new Promise((resolve, reject) => { 3 wx.navigateToMiniProgram({ 4 appId: 'wxcaa5b0bc1f60c1a1', 5 path: '', 6 extraData: {}, 7 envVersion: 'develop', 8 success(res) { 9 // 打开成功 10 console.log("跳转成功了。。。"); 11 } 12 }) 13 }) 14 }

注意: appId填将要跳转到的微信小游戏的ID

(4)在game.json中配置需要跳转的小程序的AppId,如下:

1"navigateToMiniProgramAppIdList": [ 2 "wx423487eff0d25e65", 3 "wx0706950c2e35f971", 4 "wxcaa5b0bc1f60c1a1", 5 "wx57652bd7c9253521", 6 "wxccd61b9d7ccaae4d" 7 ]

对于小游戏B:

使用微信开发工具打开小游戏B项目,在index.js中添加代码如下:

1Page({ 2 onLoad: function (options) { 3 console.log(options) 4 } 5})
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

three.js

第1章课程介绍介绍了微信小游戏的概念以及相关的由来,从宏观上对于微信小游戏的定位和价值有一个明确的认识第2章微信小游戏平台与特性讲了微信小游戏平台的相关特性,包括微信小游戏工程的建立,微信小游戏开发工具的详细使用,以及微信小游戏相关API的实战等第3章THREEJS与WebGL核心概念通过理论和实战,讲解了什么是webgl、什

2020年前端实用代码段,为你的工作保驾护航

有空的时候,自己总结了几个代码段,在开发中也经常使用,谢谢。1、使用解构获取json数据let jsonData  id: 1,status: "OK",data: 'a', 'b';let  id, status, data: number   jsonData;console.log(id, status, number )

Protobuf在微信小游戏开发中的使用技巧

微信小游戏发布后,许多HTML5游戏开发者希望把现有的HTML5游戏迁移到微信小游戏中,但由于一些技术上的问题导致进程卡壳。通过梳理Egret社区、白鹭小游戏开发技术讨论群等途径的反馈后发现,有不少开发者遇到的难题在于「如何在微信小游戏中使用Protobuf」。白鹭引擎架构师王泽在近期发布了一个开源项目protobufegret,提供了一个可