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");

}

})

淘金疯狂登陆