问题描述:
之前1.62版本时, 已成功使用论坛中方法, 实现大厅+子游戏切换(不重启).
重点在于下载子游戏的 /src 和 /res 资源后.
//step1.
var path_dir = jsb.fileUtils ? jsb.fileUtils.getWritablePath() : “/”);
var settings = require(path_dir + “src/settings.js”);
//step2.
var jsList = settings.jsList;
var bundledScript = settings.debug ? ‘project.dev.js’ : ‘project.js’;
if (jsList) {
jsList.push(bundledScript);
} else {
jsList = [bundledScript];
}
jsList = jsList.map(function (x) { return path_dir + ‘src/’ + x); });
//step3.
var option = {
id: ‘GameCanvas’,
scenes: settings.scenes,
debugMode: settings.debug ? cc.DebugMode.INFO : cc.DebugMode.ERROR,
showFPS: 0,
frameRate: 60,
jsList: jsList,
groupList: settings.groupList,
collisionMatrix: settings.collisionMatrix,
renderMode: 0
};
cc.game.run(option, onStart);
//…
由于1.62部分系统级bug(unschedule相关问题), 需要升级IDE, 目前IDE版本1.8.2.
依照旧方法, 发现可以切换到子游戏(加载成功资源&场景).
但是project.js好像未被(加载/执行)成功, 导致子游戏场景中绑定的脚本被提示找不到:
Script attached to ‘Canvas’ is missing or invalid.
经反复查找原因, 似乎require("/子游戏路径/src/project.js") 会提示 Failed to invoke require, location: …\manual\jsb_global.cpp:211.
project.js未被js虚拟机正确加载 or 执行???
有遇到相同情况的吗, 请教正确的加载成功方式, 3Q~