我这边确认了在 cocos creator 发布微信小游戏的这个问题。
正在排查原因,稍后会给出解决方案。

谢谢,麻烦了,原来没有出现这个问题吗? 应该是play.js 哪行代码没注意 没注意平台判定吧。

之前我们是通过源码的方式 require 进去用的。
后来看了 Cocos Creator 的介绍,推荐使用「插件」的方式导入第三方库,所以我们就调整了一下,结果有点出人意料。

问题怎么样了 好解决吗?

抱歉还需要再看一下,有进展会回复的

是 cocos creator 在微信小程序中使用「插件」加载方式有问题,导致使用「插件」方式加载的 sdk 在微信小程序中无法找到,目前的解决方法是通过

const Play = require('./play');

的方式加载。我们也会看一下有没有其他的加载方式。

还有一点是,如果在代码中使用了 await/async 关键字,而 cocos creator 导出的微信小程序工程中并没有转义,会导致无法编译通过。

所以,这个 demo 要想在「微信小程序」的环境下运行,需要调整 sdk 的加载方式,以及对 demo 中 await/async 代码进行修改。

好的,谢谢

我这边来做了两个调整:

  1. 加载 SDK 适配
    思路是在加载 Play SDK 时对平台做了一个判断:如果是 native 的环境,则直接使用;如果是微信小程序的环境,则通过 require 的方式加载,并导出。对于其他模块,则加载这个 SDK 的包装模块即可。

  2. 去掉 demo 中的 await / async 关键字,使用 then。

具体可以参考:
https://github.com/onerain88/BallBattle/commit/12d6ab5f5ad60a4230e2c5795c159b46649b94674

现在已经可以在微信开发者工具中运行了,但是键盘输入还没有适配。

非常感谢 赞一个

play.js 可以支持打包apk吗?

可以的。
支持平台看下 这里5