cocos2d-js 是跨平台引擎,程序要在不同的平台下运行,有时就要动态地判断平台,我暂时总结出两种方法:
1. 利用cc.sys.isNative
布尔变量判断是否本地平台
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| if(cc.sys.isNative){ cc.log("本地平台"); if(cc.sys.isMobile){ cc.log("本地移动平台"); if(cc.sys.os == cc.sys.OS_ANDROID){ cc.log("本地Android平台"); } if(cc.sys.os == cc.sys.OS_IOS){ cc.log("本地ios平台"); } } }else{ cc.log("Web平台"); }
|
2. 在main.js
文件的cc.game.onStart
加入 dump()
可log出平台信息(针对 Web 平台)
下面我们来看 Cocos-js 提供的 dump()
方法源码:
1 2 3 4 5 6 7 8 9 10 11 12
| sys.dump = function () { var self = this; var str = ""; str += "isMobile : " + self.isMobile + "\r\n"; str += "language : " + self.language + "\r\n"; str += "browserType : " + self.browserType + "\r\n"; str += "capabilities : " + JSON.stringify(self.capabilities) + "\r\n"; str += "os : " + self.os + "\r\n"; str += "platform : " + self.platform + "\r\n"; cc.log(str); }
|
运行结果如下:
1 2 3 4 5 6 7
| Cocos2d-JS v3.0 RC3 isMobile : false language : zh browserType : chrome capabilities : {"canvas":true,"mouse":true,"keyboard":true,"accelerometer":true} os : Windows platform : 101
|
从上面log的信息可以在浏览器的console(浏览器F12)知道 dump()
方法可判断出引擎的版本、是否在移动平台、语言、输入设备和运行的系统环境等。