Cocos深度解析:想开发微信小游戏,先看看腾讯是如何制定规则的

作者 | 凌华彬 、王哲

责编 | 徐威龙

作者简介:

凌华彬,Cocos Creator 主程、Game Jamer、玩家,曾负责 Cocos2d-JS、热更新框架、JSB 框架,现在主要在负责小游戏发布流程、Cocos Creator 引擎新渲染器架构。

王哲,Cocos 引擎创始人、首席客服。

1、前言

在第一篇文章《开发者应如何快速上手微信小游戏?》中,我们给大家介绍了上手微信小游戏开发所需要的知识,以及小游戏的开发环境和工具。学会如何开发小游戏固然重要,但是更重要的是,什么样的游戏更适合小游戏环境和它的用户。

我们都知道小游戏是运行在微信内部的游戏环境中的,那么微信用户也就是小游戏的潜在用户,这些用户在使用微信时,会被什么样的游戏所吸引?会分享什么样的游戏?什么样的游戏能融入用户的社交过程?这些在今天都没有最佳的答案,开发者们都在探索,也正是广大小游戏开发者的机会所在。

但毫无疑问的是,制作这样的爆款游戏一定需要完美理解各种微信社交/系统 SDK 接口的能力,并将其发挥到极致。

今天我们会更详细分析小游戏环境给大家开放的各种 SDK 接口,以及这些接口可以承载什么样的游戏体验。当然,微信小游戏官方文档中,对这些接口都有很详细的使用介绍,我们不会重复这些具体的 API 调用细节,会更多侧重在这些接口所提供的功能和潜力上。

最后,我们还会给出一个Cocos Creator 制作小游戏的案例。

微信小游戏官方文档:http://dwz.cn/7ecZAU

2、小游戏提供的接口能力

微信 SDK 接口通用规则

微信的 SDK 接口大多有非常接近的使用方式和命名规则,下面是我们总结出来的一些经验:

1. onXXX &offXXX:这类 API 一般都是的事件注册和反注册

2. xxxSync:在某个函数名后添加 Sync 就是该函数的同步方法,同时也说明原始函数一定是异步调用

3. 异步函数:由于微信很多 API 都需要做后台请求,或从微信运行内核中获取信息,所以存在大量的异步接口,有时会提供它们的同步版本,但在大多数情况下我们仍然建议使用异步接口,以便更方便得捕获异常,组织异常处理代码。

4. 异步函数的调用方式:微信 API 内的异步函数绝大多数都接受一个对象作为参数,该对象內应该包含:

success:成功回调

fail:失败回调

complete:完成回调(调用成功、失败都会执行)

wx.getSystemInfo({

success: function (res) {

// res 一般是一个包含调用结果的对象

console.log("This phone is " +res.brand + " " + res.model);

},

fail: function (res) {

// 通过 res.errMsg 可以获取错误信息

console.warn(res.errMsg);

},

complete: function () {

console.log("API call completed");

}

})