5月22日,在云南昆明召开的“2019年腾讯全球数字生态大会”QQ分论坛上,QQ方面宣布月活破3亿的QQ空间H5小游戏升级为QQ小游戏中心,并发布双十扶持计划,为开发者提供10亿流量 10亿分成的全面扶持。6月1日,媒体报道,安卓版QQ上线QQ小程序中心,并且将于近日开启第三方开发者自助接入。在QQ小游戏中心上线后,白鹭引擎迅速支持开发者开发QQ小游戏以及如何将现有的游戏快速转换为小游戏,在此给各位开发者介绍白鹭引擎提供的详细的解决方案。
白鹭引擎已经添加了对于 QQ 小游戏开发的支持,开发者只需要使用白鹭引擎的最新版本,通过使用白鹭引擎完整工具流,就可以快速创建、开发与发布 QQ 小游戏,而无需过多的关注底层技术细节。
以下为具体教程:
1.如何创建QQ小游戏项目
(1)创建QQ小游戏项目需要您需要下载白鹭引擎最新版本,首先创建一个新的白鹭引擎项目。
(2)创建项目之后,点击项目设置按钮,将发布平台设置为QQ小游戏,并下载白鹭引擎提供的QQ小游戏支持库 。
(3)最后在项目配置中填写 appid,projectname等内容后,点击发布,即可将您的游戏发布到QQ开发者工具中
(4)在发布之后,您可以在到QQ开发者工具中预览及调试您的游戏。
2.如何将现有白鹭引擎项目迁移至QQ小游戏
如果您的项目是微信小游戏, 可直接迁移。
如果您的项目是HTML5游戏,由于QQ小游戏与传统的HTML5游戏的底层机制有较大差异,所以使用白鹭引擎开发的 HTML5 游戏需要一定的开发工作量才能移植为一款QQ小游戏。整体步骤分为三步:
A、将一款白鹭引擎游戏升级至 5.2.25 版本
B、将该游戏的发布目标设置为QQ小游戏
C、进行适配性修改
具体处理方式如下:
(1)将游戏发布目标设置为QQ小游戏
在执行这一步骤前,建议开发者首先创建一个新项目,并将新项目的发布目标设置为QQ小游戏,将其发布并确保可以在QQ IDE里正确预览,这样您会对整个项目结构更加熟悉。
通过白鹭最新的 Egret Launcher ,您可以直接将游戏发布目标设置为QQ小游戏。
执行上述步骤之后,您可以使用QQ开发者工具打开项目,就可以看到您的项目了
(2)进行适配性修改
上述步骤均完成后,您就可以将您的项目迁入QQ小游戏中,为了给最终用户提供更好的用户体验,QQ小游戏对您的游戏存在一些技术限制,具体限制如下:
A、禁止 eval , new Function 等动态代码加载机制,白鹭引擎的 EUI 使用了这种方式,已经通过将主题文件的发布策略改为 commonjs 进行了规避,如果您的项目采用了上述动态代码机制,需要采用其他方式实现。
B、QQ小游戏没有直接执行 JavaScript 文件的接口,都是通过 require() 方式进行加载,除了禁止动态加载外,require 由于是基于CommonJS 的模块机制,所以不支持全局对象,如果您的项目中存在了全局对象的跨文件访问,需要设置 window.object1 = object1 这样的方式强制将特定对象转为全局对象。由于白鹭引擎的项目会将您的项目所有文件编译为一个文件,所以这种问题主要出现在 main.js 文件与其他第三方库文件之间的全局调用上。
C、如果您的游戏资源大于4M,可以使用动态加载的机制,动态加载文件的缓存不得大于 50M,如果您的资源总体积可以控制在 50M 以内,只需要将部分资源文件不放置到项目中即可,但是如果总体积大于 50M,您需要设计资源的缓存存储和释放策略。再次强调,代码文件必须放在游戏包中,不可以动态加载。
D、需要对接QQ小游戏相关接口,如用户信息、社交关系等,具体请参见QQ小程序提供的 API 文档与示例。