cc.loader.load 加载网络图片过程中调用 cc.game.restart必然崩溃

  • Creator 版本:2.0.5

  • 目标平台: iOS

  • 详细报错信息,包含调用堆栈:

  • 重现方式:

  • 之前哪个版本是正常的 :

  • 手机型号 :

  • 手机浏览器 :

  • 编辑器操作系统 :

  • 编辑器之前是否有其它报错 :

  • 出现概率:必现

  • 额外线索:

cc.loader.load是个异步的过程,而cc.game.restart会使director销毁当前的场景、执行reset。如果在load没有结束时执行restart,会造成load执行完回调时,某些引用无效,导致崩溃。
所以你要避免在load的加载过程中去执行cc.game.restart
https://github.com/cocos-creator/engine/blob/master/cocos2d/core/CCGame.js#L326-L346

关键是cc.loader.load 加载图片又无法取消,我现在的使用场景是:用户从原生app 里点击 按钮 打开 游戏,进入 游戏后用户是随时可能退出回到原生app的,这个时候 我需要调用 cc.game.restart. 这种情况是很难避免的。 是否能够通过修改引擎里的一些方法,避免这种必然的崩溃呢?

你原生app不是creator开发的?游戏内嵌在原生app中?为什么退回原生app要去restart?个人感觉是可以从业务逻辑上去避免这种问题的

我做的 游戏大厅-子游戏的模式,因为 没有找到 你们 2.0以上版本 游戏大厅-子游戏的模式 不重启的实现方式,就自己研究出了一套 方案,但是前提就是需要游戏切换的时候 需要重启回到大厅。 想请教下 我有两个 游戏项目的 打包 出来的独立的文件,能在不重启的情况下 进行切换吗?

有官方的人来解答一下吗?