微信小游戏开发总结

” data-caption=”” data-size=”normal” data-rawwidth=”900″ data-rawheight=”500″ class=”origin_image zh-lightbox-thumb lazy” width=”900″ data-original=”https://pic3.zhimg.com/v2-9eda0635cec77b76dd253bcd7efc0b19_r.jpg” data-actualsrc=”https://www.hixianchang.com/wp-content/uploads/2018/20180720/T202598.jpg”>

小游戏与小程序的区别?

小游戏是小程序的一个类目,小游戏是微信开放给小程序的更多的能力,让小程序开发者有了开发游戏的能力。小游戏没有WXSS、WXML、多页面等内容,但加了一些渲染、文件系统以及后台多线程的功能。

小游戏的运行环境是小程序环境的扩展,基本思路也是封装必要的 WEB 接口提供给用户,尽可能追求和 WEB 同样的开发体验。小游戏在小程序环境的基础上提供了 WebGL 接口的封装,使得渲染能力和性能有了大幅度提升。不过由于这些接口都是微信团队通过自研的原生实现封装的,所以并不可以等同为浏览器环境。

小游戏的运行环境在 iOS 上是 JavaScriptCore(注:webkit的一个重要组成部分,主要是对JS进行解析和提供执行环境。),在 Android 上是 V8 (这个不用多说Node.js目前使用的就是V8)。但是两个都没有 BOM 和 DOM 的运行环境,没有全局的 documentwindow 对象。

小游戏 VS H5游戏 VS 小程序对比图

第三方代码适配(Adapter)

主要目的提供 BOM 和 DOM 的运行环境。

由上图可以看出,因为没有 BOM 和 DOM 的运行环境,没有全局的 documentwindow 对象。为了让基于浏览器环境(上图的H5游戏)的第三方代码更快地适配小游戏运行环境,所以就有了适配器(Adapter)。它是用微信 API 模拟 BOM 和 DOM 的代码组成的库,抽象的代码层,可以根据自己的需要去实现相关方法。

例如,简单实现document.creatElement方法:

var document = {    createElement: function (tagName) {        tagName = tagName.toLowerCase()        if (tagName === 'canvas') {            return wx.createCanvas()        }        else if (tagName === 'image') {            return wx.createImage()        }    }}

相关新闻