平台区分

CocosCreator3.0.0:
如何区分安卓还是ios,还是微信小游戏
sys.platform貌似已经不提示了
问题1:
微信小游戏用这个
import { WECHAT } from ‘cc/env’;
但是如果
if (WECHAT) {
this.platform = new PlatformWxGame(this);
}else{
this.platform = new PlatformWeb(this);
}
在web平台正常,但是打包微信小游戏在微信开发者工具就会报错提示PlatformWxGame不存在
问题2:
native要怎么区分ios,android

问题1 的做法没错,不过。。。

报错提示PlatformWxGame不存在

这个 PlatformWxGame 是项目里定义的变量吧,应该检查下是不是哪里漏定义了

问题2

安卓平台
sys.os === sys.OS_ANDROID

iOS 平台
sys.os === sys.OS_IOS

关键是
if (WECHAT) {
this.platform = new PlatformWxGame(this);
}else{
this.platform = new PlatformWeb(this);
}
修改为
this.platform = new PlatformWxGame(this);
就能正常运行
我查了脚本register顺序也没毛病

问题解决了
const { ccclass } = _decorator;
@ccclass(‘PlatformWxGame’)
export default class PlatformWxGame extends PlatformManager {
就会有问题
去掉
const { ccclass } = _decorator;
@ccclass(‘PlatformWxGame’)

就可以了