【最新】微信小游戏全解析和它的入门教程

【最新】微信小游戏全解析和它的入门教程

【体验】

本来想安安静静跨个年,做个安静的美男子,没想到就剩几天了,微信搞了个大动作。

【最新】微信小游戏全解析和它的入门教程

听说微信小程序支持小游戏了,作为一个时尚的程序员,我是坐不住的,于是赶紧体验了一把。

把微信升级到最新版本,在小程序里面搜索小游戏,发现已经有不少了。

【最新】微信小游戏全解析和它的入门教程

找了一个大学时候经常玩的保卫萝卜,进去之后体验下来,和之前的游戏差不多。

【最新】微信小游戏全解析和它的入门教程

又看了看其他小游戏,什么麻将,扑克应有尽有,也就是说,爸爸妈妈以后打麻将和扑克只需要把链接往群里一分享,就可以在手机上玩了。

【分析】

那么微信小游戏会带来什么变化呢?

首先,不用下载小游戏了,就一个微信,你就可以玩遍所有的小游戏,而且不想玩了也不需要卸载,它也不会占有太多手机内存空间,是真正的“触手可及,用完即走”,是不是很方便?

其次,省去了注册账号等繁琐操作,更加适合爸爸妈妈了,甚至家里的老人,只要用微信,都能玩小游戏啦。

最后,微信小游戏还可以和好友互动,找朋友一起来玩更方便啦!玩得好在好友排名第一,也是很有面子的。

当然,以上都是从用户角度进行分析,接下来,对于游戏开发者们,有什么变化呢?

首先,游戏运营成本大大降低,因为用户使用门槛低了,不需要下载很大的apk包,不需要复杂的注册流程,所以用户会更多。

其次,项目风险大大降低。如果像之前一样做大游戏,一旦不成功可能面临公司倒闭,毕竟王者荣耀只有一个,多少不为人知的游戏公司默默倒闭。而现在,小游戏,开发成本相对较低,一次融资可能有几次尝试的机会,成功率会更高。

最后,技术转换。以前如果做native游戏的话,现在可能要熟悉下H5游戏的开发流程和开发语言了。毕竟微信小游戏基于js,开发模式和H5游戏开发模式非常像。

那么说了这么多优点,微信小游戏有没有缺点呢?当然是有的,微信小游戏,不适合做功能复杂或渲染要求很高的重度游戏,其实名字中已经暴露了,它只适合小游戏。毕竟还是通过js实现,性能是瓶颈。

【教程】

我们来看一下,微信小游戏到底怎么开发?

下载最新的微信开发者工具,已经可以创建小游戏了,我们来看看界面。

【最新】微信小游戏全解析和它的入门教程

新建一个项目之后,默认就是一个飞机大战的小游戏,代码基于es6的。我们先看一下项目结构:

├── README.md

├── audio

│   ├── bgm.mp3

│   ├── boom.mp3

│   └── bullet.mp3

├── game.js

├── game.json

├── images

│   ├── Common.png

│   ├── bg.jpg

│   ├── bullet.png

│   ├── enemy.png

│   ├── explosion1.png

│   ├── explosion10.png

│   ├── explosion11.png

│   ├── explosion12.png

│   ├── explosion13.png

│   ├── explosion14.png

│   ├── explosion15.png

│   ├── explosion16.png

│   ├── explosion17.png

│   ├── explosion18.png

│   ├── explosion19.png

│   ├── explosion2.png

│   ├── explosion3.png

│   ├── explosion4.png

│   ├── explosion5.png

│   ├── explosion6.png

│   ├── explosion7.png

│   ├── explosion8.png

│   ├── explosion9.png

│   └── hero.png

├── js

│   ├── base

│   │   ├── animation.js

│   │   ├── pool.js

│   │   └── sprite.js

│   ├── databus.js

│   ├── libs

│   │   ├── symbol.js

│   │   └── weapp-adapter.js

│   ├── main.js

│   ├── npc

│   │   └── enemy.js

│   ├── player

│   │   ├── bullet.js

│   │   └── index.js

│   └── runtime

│       ├── background.js

│       ├── gameinfo.js

│       └── music.js

└── project.config.json

8 directories, 44 files

有几个比较重要的文件:project.config.json,这是项目的配置文件,类似package.json;game.js,微信官网指定微信小游戏必须包含的文件,是小游戏的入口文件;game.json,微信官网指定微信小游戏必须包含的文件,是小游戏的配置文件。

整个游戏是通过weapp-adapter暴露出来的canvas进行制作的,基本基于原生canvas。

当然,由于有adapter的支持,市面上的H5游戏引擎大部分都能集成进来。

游戏具体实现可以自行看代码,这里不展开。有js基础的同学应该很快能上手。

最后,感觉这应该是一个风口,大家把握!

【最新】微信小游戏全解析和它的入门教程