微信小游戏一经推出就受到了许多开发者的关注,目前已有2000多款作品上线。我们也在第一时间推出了微信小游戏适配解决方案,并持续优化改进,同时整理发布了多篇关于使用白鹭引擎开发微信小游戏的FAQ文章(详情可查看白鹭引擎公众号历史消息),但仍有部分新手开发者遇到了一些开发问题。为此我们为这些开发者梦整理出了近期常见的小游戏开发问题,以供大家参考。后续,我们还将持续的整理相关内容,帮助开发者们更好更快的寻找到问题及解决办法。

  1. 微信公众号可以关联或跳转微信小游戏吗?
    答:微信公众号可以跳转小游戏。实现方法与小程序跳转差不多。首先需要先在公众号后台选择“小程序管理”,添加要关联的小游戏。
    小程序管理界面如下:
    微信小游戏开发新手常见问题整理_第1张图片
    第二步,选择“自定义菜单”绑定关联的小游戏。
    自定义菜单界面如下:
    微信小游戏开发新手常见问题整理_第2张图片

第三步,若要识别玩家来源,是从哪个公众号关联来的,可以添加参数。
在自定义菜单中,找到“小程序路径”,填写上参数地址,格式为“?spid=XXXXX ”。
然后小游戏启动的时候通过wx.getLaunchOptionsSync()获得参数(返回scene值)。

  1. 调用egret.ExternalInterface.call就会出错,为了接入渠道的sdk,把启动的activity改掉了。
    微信小游戏开发新手常见问题整理_第3张图片
    答:这个报错不会影响app运行,我们在下一个版本里就会解决这个问题,使用新版本则不会出现类似报错。

  2. 由于浮点数运算的原因,是不是没法保证同样的两个条件,最终结果都是不一致的?
    答:确实由于是浮点数运算的原因,导致两个结果不一致。两种解决办法:1. 结果取整数后再比较,但是这样误差很大。2.设阈值,两个结果相减,小于0.1就判断两者相等。(推荐第二种方法)

4.用物理引擎的话,从输入到得到最终结果中间有一个过程,那中间的物理表现会出现明显的差异吗?或者虽然有浮点数的精度问题,但其实差异不明显?

答:需要分辨游戏类型, 一般2D小游戏,差异不会很明显,例如像最强弹球类游戏,差异就不明显。

5.对接小游戏时报错,第三方脚本出现错误
微信小游戏开发新手常见问题整理_第4张图片
答:在使用Asset Manager之前,需要先加载配置文件,然后再用getResByUrl。若已经 加载了配置文件,可检查一下小游戏支持库版本是否是最新版本。

微信报错都是第三方脚本错误,但是还要看具体报错原因,例如下面这个报错,就不是未加载配置文件造成的。可能原因是漏配了Tween。

微信小游戏开发新手常见问题整理_第5张图片

6.反复打开一个界面时,并没有重新加载图集,但在移除界面时又进行释放操作,且这个界面本身不存在内存泄漏问题,是什么原因呢?
答:可以在加载和释放的地方打日志确认。
微信小游戏开发新手常见问题整理_第6张图片

以上是我们本期整理的几个常见的小游戏开发问题,可与我们交流合作。