有些時候,同一個遊戲的不同版本,由於IOS手機性能大部分比安卓手機號,所以需要給他們不同的配置參數,但是又不想分開兩個項目,這時候就需要修改加載配置文件的代碼了,可以寫兩份project.json,分別用於ios和android,項目名\frameworks\cocos2d-html5\CCBoot.js,找到這個文件
在加載project.json的地方,判斷下操作系統 cc.sys.os === cc.sys.OS_IOS 籠統點判斷的話,就分爲IOS和非IOS就行了,如果需要更具體的,也可以更具體點
_loadConfig: function () {
// Load config// Already loaded
if (this.config) {
this._initConfig(this.config);
return;
}
// Load from document.ccConfig
if (document["ccConfig"]) {
this._initConfig(document["ccConfig"]);
}
// Load from project.json
else {
try {
var cocos_script = document.getElementsByTagName('script');
for(var i = 0; i < cocos_script.length; i++){
var _t = cocos_script[i].getAttribute('cocos');
if(_t === '' || _t) {
break;
}
}
var _src, txt, _resPath;
if(i < cocos_script.length){
_src = cocos_script[i].src;
if(_src){
_resPath = /(.*)\//.exec(_src)[0];
cc.loader.resPath = _resPath;
if(cc.sys.os === cc.sys.OS_IOS){
_src = cc.path.join(_resPath, 'project_IOS.json');//判斷操作系統
}
else{
_src = cc.path.join(_resPath, 'project_android.json');//判斷操作系統
}
}
txt = cc.loader._loadTxtSync(_src);
}
if(!txt){
if(cc.sys.os === cc.sys.OS_IOS){
txt = cc.loader._loadTxtSync("project_IOS.json");//判斷操作系統
}
else{
txt = cc.loader._loadTxtSync("project_android.json");//判斷操作系統
}
}
var data = JSON.parse(txt);
this._initConfig(data || {});
} catch (e) {
cc.log("Failed to read or parse project.json");
this._initConfig({});
}
}
},