如何在 Egret 中调用小游戏 API
在 Egret 中是可以直接调用小游戏的 API 的,这篇文档简要介绍如何在 Egret 中使用小游戏的 API。
新增 platform.ts 文件
 
在 src 下新增 platform.ts,代码如下

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

这样就可以在 Egret 项目中使用 platform 里的方法了。但是如果我们当前的项目想要发布成 H5 游戏的话也不会报错,保证整个项目的兼容性。
新增 platform.js 文件


通过文末的 小游戏 API 文档,我们可以方便的查看使用小游戏 API。
 
我们 platform.js 代码编写如下

1.    /**
2.    * 请在白鹭引擎的Main.ts中调用 platform.login() 方法调用至此处。
3.    */
4.
5.    class WxgamePlatform {
6.
7.        name = 'wxgame'
8.
9.        login() {
10.            return new Promise((resolve, reject) => {
11.                wx.login({
12.                    success: (res) => {
13.                        resolve(res)
14.                    }
15.                })
16.            })
17.        }
18.
19.        getUserInfo() {
20.            return new Promise((resolve, reject) => {
21.                wx.getUserInfo({
22.                    withCredentials: true,
23.                    success: function (res) {
24.                        var userInfo = res.userInfo
25.                        var nickName = userInfo.nickName
26.                        var avatarUrl = userInfo.avatarUrl
27.                        var gender = userInfo.gender //性别 0:未知、1:男、2:女
28.                        var province = userInfo.province
29.                        var city = userInfo.city
30.                        var country = userInfo.country
31.                        resolve(userInfo);
32.                    }
33.                })
34.            })
35.        }
36.    }
37.
38.
39.    window.platform = new WxgamePlatform();

上述代码使用了小游戏的登陆 API,只需要在 Egret 项目中调用 platform.login() 方法即可。

引入 platform.js
但是在真正运行之前还需要将 platform.js 文件引入进去
 
调用小游戏的 API
 
最后只需要在你需要的地方添加方法就可了,搞定!
 
运行发现没有效果,因为我刚才已经登陆过了,所以选择清除登录状态。
 
然后运行,搞定!
小结
因为上述过程 5.1.2 版本都已经集成,项目默认会有一个登陆方法的示例,大家可以按照示例使用其它的小游戏 API,为了保证最好的体验我们元旦回来后再进行更新,感谢大家一直以来的支持。
小游戏 API 调用注意事项
因为小游戏 API 运行需要小游戏环境,所以在 H5 上是无法直接预览的,所以你需要在「微信开发者工具」中预览效果。
 
更多 API 请查看:小游戏 API 文档

转载于:https://my.oschina.net/u/3695009/blog/1604694

白鹭引擎开发微信小游戏: API 调用教程文档相关推荐

  1. Egret白鹭引擎开发微信小游戏之保存图片到相册

    玩家在玩小游戏的过程中,很多时候想要保存一下当前的截图.或者保存游戏内精美的画面到相册,一方面是为了记录在游戏中的美好时刻,另一方面则是能够更好地和朋友们分享我在这游戏中获得的荣耀和快乐,因为我们就会 ...

  2. 白鹭引擎开发微信小游戏新手教程文档

    开发环境准备 •    Egret Launcher 1.0.32 以上版本(包括 1.0.32) •    白鹭引擎 5.1.2 以上版本(包括 5.1.2) •    准备最新版微信开发者工具.下 ...

  3. 白鹭引擎开发微信小游戏进阶教程文档

    注意: •    因为小游戏特殊机制,涉及到的小游戏接口主要逻辑都需要写在小游戏逻辑代码内,但是可以通过 Egret 代码来调用 •    后续版本 Egret 将会提供调用小游戏接口模板,届时大家可 ...

  4. 白鹭引擎解决微信小游戏切换背景音乐无法播放的问题。

    白鹭引擎 版本:5.2.8 描述:白鹭引擎解决微信小游戏切换背景音乐无法播放的问题. main.ts文件中找到如下函数,增加上您的音频对象. egret.lifecycle.onResume = () ...

  5. egret php交互,微信小游戏API调用Egret

    野子电竞数据官网改版https://www.xxe.io/全新登场 在Egret中是可以直接调用微信小游戏的API的,Egret中添加了平台代码,可以调用各个平台API. 新建工程会发现在src文件夹 ...

  6. 使用Laya引擎开发微信小游戏(下)

    本文由云+社区发表 6. 动画 6.1 创建伞兵对象 在src目录下创建一个新目录role,用来存放游戏中角色. 在role里创建一个伞兵Soldier.ts对象文件. module role{exp ...

  7. 想开发微信小游戏,先看看腾讯是如何制定规则的

    点击上方"CSDN",选择"置顶公众号" 关键时刻,第一时间送达! 作者 | 凌华彬.王哲 责编 | 徐威龙 一.前言 在第一篇文章<微信小游戏开发上手& ...

  8. 微信小游戏API (doing)

    微信小游戏API (doing) 1. 登录 wx.login({success: function(response) {if (response.code) {wx.request({url: ' ...

  9. webpack + typescript 开发微信小游戏实践

    源码地址 微信小游戏版本技术选型使用typescript开发 但是微信小游戏原生不支持 typescript 开发,于是探索一下使用ts开发微信小游戏 1. 创建小游戏 使用测试号,创建一个使用官方示 ...

最新文章

  1. PermutationImportance
  2. Hive Lateral View、视图、索引
  3. 拦截PHP各种异常和错误,发生致命错误时进行报警,万事防患于未然
  4. SAP CRM Fiori my Opportunity Etag handling
  5. 微服务技术栈:常见注册中心组件,对比分析
  6. Windows 下安装 laravel框架
  7. spark基础之存储原理
  8. linux mysql 移动_Linux下安装MySQL
  9. docker-compose进阶
  10. BosonNLP情感词典 评论情感分析
  11. html2canvas截长图
  12. AXURE母版事件(Raised-events)
  13. PowerShell,AnkhSVN和Subversion
  14. excel打开很慢_从海量Excel文件中快速高效地提取数据
  15. unity3d + lua + 斗地主 系列 (1) 创建扑克对象
  16. win10家庭版调出组策略_正版Win10免费送!支持无限次数重装
  17. 计算理论基础-1-FA有穷自动机与Pumping_Lemma泵定理
  18. 【转载】游戏场景设计、构图的一些基本思考
  19. 鸿蒙应用开发:实现简单的媒体播放器
  20. Linux操作系统与Shell编程

热门文章

  1. 【10w字】超详细【百分百拿offer】的面试教程,集合5000多家软件测试公司面试题。
  2. Python游戏概率补偿算法-马尔科夫链
  3. 开平方_复数有效值+角度的verilog代码
  4. 华为新员工入职培训计划曝光!你留不住员工的原因就在这! zz
  5. 计算机学哪个编程好,达内机器人编程VS计算机编程,学哪个最好
  6. 3-4课:各种花式编程语言大放送
  7. 两寸证件照怎么弄?如何制作两寸证件照?
  8. Java知识点整理(SE) IO
  9. 什么是SaaS平台?SaaS软件平台有什么优势
  10. 转行成为大数据工程师要怎么做?