VIP24小时服务热线: 13437265290
办公电话:13437265290

24小时咨询热线:13437265290

珠海小程序开发联系方式

电话:13437265290

联系QQ:294781937

邮箱:294781937@qq.com

当前位置:珠海搜外科技 > 小程序开发百科 > 小程序游戏怎么开发和优化?微信小游戏开发实战教程和总结

小程序游戏怎么开发和优化?微信小游戏开发实战教程和总结

阅读量:40 发表时间:10-10 14:40
小程序开发百科
分享到:

小程序游戏怎么开发,小游戏的模块化

小游戏提供了 CommonJS 风格的模块 API,可以通过module.exports和exports导出模块,通过require引入模块。这里就不用多解释了,其实大家按正常的编码习惯编码就可以了。

module.exports = function (canvas, x, y) {

var image = new Image()

image.onload = function () {

var context = canvas.getContext('2d')

context.drawImage(image, x, y)

}

image.src = 'res/image/logo.png'

}

所以小游戏对编码方面的基础能力还是很友善的。


小程序游戏怎么开发,小游戏能力

这里列出部分已提供的 API 能力,更详细的能力及官方实例可访问API文档。


小程序游戏怎么开发



小程序游戏怎么开发,小游戏引擎

游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。这些系统为游戏设计者提供各种编写游戏所需的各种工具,其目的在于让游戏设计者能容易和快速地做出游戏程式而不用由零开始。

Cocos、Egret、Laya 已经完成了自身引擎及其工具对小游戏的适配和支持:

Three.js 是一款运行在浏览器中的 3D 引擎,你可以用它创建各种三维场景,包括了摄影机、光影、材质等各种对象

2D、3D、VR的支持


小程序游戏怎么开发



小程序游戏怎么开发,性能

从开发者的反馈来说,Layabox本来就是面向大型游戏的H5游戏引擎,性能优势是毋庸质疑的。


小程序游戏怎么开发

小程序游戏怎么开发,工作流支持力度

工具链的提供与支持也是一种选择考量要素,比如UI编辑器、粒子编辑器、骨骼编辑器、场景编辑器等等,如果引擎方直接提供或支持,那么将会较大的提升研发效率。Egret、Layabox、Cocos2d-JS这三个引擎在工具链方面提供足够全面的支撑。

引擎的应用广度

Egret成名比较早,发展得比较快,各方面的资源而比较多,提供了全套开发流工具。


小程序游戏怎么开发


小程序游戏怎么开发,设计理念与定位


小程序游戏怎么开发





用游戏引擎的优点:开发快,可维护性高

用游戏引擎的缺点:牺牲一些性能,小游戏用不用引擎几乎感受不到性能差异。大游戏为了开发效率和可维护性,一般都会使用游戏引擎。


小程序游戏怎么开发,小游戏实战总结

本次主要实现的是跳一跳小游戏。游戏大概如下:


小程序游戏怎么开发


小程序游戏怎么开发,小游戏优化,为什么要优化

其实为了提高页面加载速度,减少游戏运行中的卡顿,使动画看起来更流畅,游戏的流畅程度及画面直接影响了用户体验。

以下提供了几个优化方案。

GC优化

小游戏的优化文档并未指出,在api中提供一个性能管理器,通过获取性能管理器能够调用 API 加快触发 GC ,GC 时机是由 JavaScrpitCore / V8 来控制的,不能保证调用后马上触发 GC。

setData调用次数优化

小程序端,官方不建议频繁调用setData,大图片和长列表图片,都有可能导致 iOS 客户端内存占用上升,从而触发系统回收小程序页面。

减小代码包

尽量减小代码包的大小,代码包直接影响了下载速度,从而影响用户的首次打开体验。

控制图片资源

控制代码包内图片资源,小程序代码包经过编译后,会放在微信的 CDN 上供用户下载,CDN 开启了 GZIP 压缩,所以用户下载的是压缩后的 GZIP 包,其大小比代码包原体积会更小。 但我们分析数据发现,不同小程序之间的代码包压缩比差异也挺大的,部分可以达到 30%,而部分只有 80%,而造成这部分差异的一个原因,就是图片资源的使用。GZIP 对基于文本资源的压缩效果最好,在压缩较大文件时往往可高达 70%-80% 的压缩率,而如果对已经压缩的资源(例如大多数的图片格式)则效果甚微。

清除无用资源

及时清理没有使用到的代码和资源,小程序打包是会将工程下所有文件都打入代码包内,也就是说,这些没有被实际使用到的库文件和资源也会被打入到代码包里,从而影响到整体代码包的大小。

fps调优

使用requestAnimationFrame实现动画时,调整到合适的渲染fps(帧率)。


小程序游戏怎么开发,层级划分

景物层:负责两侧树叶装饰的渲染,实现其无限循环滑动的动画效果;

阶梯层:负责阶梯和机器人的渲染,实现阶梯的随机生成与自动掉落阶砖、机器人的操控;

背景层:负责背景底色的渲染,以及开始结束面板渲染。

通过requestAnimationFrame循环调用一定次数来实现动画效果。游戏的逻辑通过监听全局的canvas对象实现。

分层按顺序叠加绘至画布,先将背景绘上,通过算法计算出台阶位置,结合上一次的位置用requestAnimationFrame实现移位生成新的台阶,机器人单独抽离出来的,没有和台阶一起实现,通过位置计算,得到机器人的位置,绘制字台阶上,最后将顶层的树叶绘制上。


小程序游戏怎么开发,小游戏开发难点

首先,小游戏使用JavaScript语言开发,不存在HTML,CSS,所以需要对JavaScript语言,Canvas对象操作熟练。

其次,和H5版游戏开发区别并不大,但是小游戏支持的库较少,并且大部分H5版开发所使用的到的库是不支持的。

还有,就是H5版游戏的实现方式选择性更多,比如跳一跳原版是使用createjs开发,而小游戏版并不能支持所有的引擎,只能通过上面的几个引擎改造适配。


小程序上线已经一年多了,微信官方也不负众望,一年来不断的更新迭代,新增的入口越来越多,推广的方式层出不穷,每一次的更新都揭露着微信团队全新的风向标。

虽然已经有一些人通过小程序获利,但大多数人对于小程序到底应该怎么推广运营,依然很迷茫,该如何推广自己的小程序?今天小编就为大家总结了目前小程序推广的5种方法,感兴趣的朋友可以看看。

您可能会遇到的问题!

cache
Processed in 0.013893 Second.