微信公众号:老牛同学
老牛同学这几天七赶八赶,终于在假期结束前,完成了 Cocos 3D 小游戏功能研发和测试调试,节前制定的“新春小游戏计划”也算是完美收官了。
接下来就是把在 Cocos Creator 中研发完成的小游戏上传到微信小游戏平台,可直接通过手机进行游玩体验。
上传过程中遇到了包大小无法上传的问题(微信小游戏主包限制4MB大小),老牛同学把解决的过程(即:分包)记录一下,共网友参考。
提示: 本游戏所有的资源和代码均可免费下载,无任何协议和要求等,通过打开“老牛同学”微信小程序->点击“更多”Tab->“源代码”获取下载链接。
源代码文件夹中有 2 个 Zip 包:1 个是 Cocos Creator 的源代码;1 个是通过 Cocos Creator 构建的微信小游戏代码,可直接导入到“微信开发者工具”中即可进行预览和上传发布。
特别注意: 在上传发布到微信小游戏平台之前,请务必修改一下微信小游戏 AppID 内容!
小游戏状态机设计
在分包发布之前,老牛同学补充一下这款小游戏的状态机设计图,这也是这款小游戏的最后一张设计图。之前的总体设计方案、框架设计图等,请参考前面的几篇文章。
老牛同学把小游戏运行的状态机,抽象设计为以下 5 个:
- LAUCHED 启动状态,或者重新开始状态:这是一个入口状态,初始化游戏场景。
- PLAYING 闯关状态,包括首次进入关卡或者复活进入关卡,是游戏的主场景。
- SUCCESS 闯关成功状态,如果有更多关卡,则又进入“闯关状态”,可不断完成闯关。
- FAILURE 闯关失败状态,可以申请复活或者重新开始游戏。
- REWARD 闯关失败状态,可以申请复活或者重新开始游戏。
只有状态机还不够,因为小游戏在运行过程中,场景中需要展示或者隐藏不同组件,这就涉及到运行时数据,包括:
state
游戏当前状态,以上 5 个枚举值。level
当前所在关卡failReason
闯关失败的原因,本小游戏只有 2 个枚举值reviveCount
当前关卡复活的失败次数- 其他数据,包括:关卡的“超时时间”和“工具限额”数量等。
通过状态机和运行时数据,我们可以确保游戏整体运行按照期望执行。
微信小游戏发布
接下来就是把小游戏发布成微信小游戏了,这样就可以通过手机进行游玩了。
微信小游戏类目设置
首先注册个微信小程序,和注册普通小程序注册无差异。需要注意的是,小程序的类目必须设置为“小游戏”,否则它就是一个普通的小程序,是无法使用游戏引擎。