大厅热更新子游戏之后,如何可以不重启,直接进入子游戏

之前看帖子1.5.2 热更新 大厅+ 子游戏 不用重启DEMO,发现他可以在接收到

jsb.EventAssetsManager.UPDATE_FINISHED

消息之后,直接调用require(‘子游戏的main.js’),而没有调用重启,就可以进入子游戏。

但是,我的cocos creator版本是1.8.0,更新完子游戏之后,如果不调用cc.game.restart()进行重启的话,点击按钮,可以进入子游戏,但是从子游戏返回时,就会报错。
下面是子游戏中大厅的js,返回大厅时直接require(正确的保存路径+‘src/dating.js’)
dating.js.zip (2.9 KB)

跪求各位好心人指点

关于大厅+子游戏,我的提问合集:

大厅子游戏模式下第二次检测更新后,就无法从子游戏返回大厅了,这个帖子中包含我写的demo

大厅子游戏的模式,子游戏中如何才能加载到大厅的prefab

2赞

你是更新了大厅吧,才有重启~
子游戏,更新下载完了,不用重启的。

更新完子游戏,不重启,可以从大厅进入子游戏,但是从子游戏返回大厅时,就报错了

您好,我想问一下大厅和子游戏共享资源的问题,您解决了吗?
我看到这个帖子了子游戏+大厅共享资源临时实现方案,但是没看懂他到底做了什么修改

不好共享,没有办法,建议别共享了。

现在我在大厅的main.js里,使用全局变量cc.sharePrefab提前把子游戏要用到的预制板加载进来,这样在子游戏就可以使用cc.sharePrefab这个预制板了,但是这样对内存不友好,万一子游戏用很多大厅的预制板,内存很容易就爆了。
目前还没有想到其他方法实现子游戏使用大厅预制板的需求

子游戏的main和dating以及大厅更新子游戏的HotUpdate.zip (11.4 KB)
这是我子游戏的main.js和dating.js,以及大厅中负责下载子游戏的HotUpdate.js,重启逻辑就在HotUpdate.js中,完成子游戏的加载之后,就会重启:

//重启的逻辑
cc.audioEngine.stopAll();
cc.game.restart();

如果不重启的话,只能大厅和子游戏相互跳转,如果大厅项目中含有两个以上场景,大厅内的跳转就会报错

顶一下自己帖子,希望有人能帮忙解答

你实现了没,急需qq:769228622

那请问报重复的class怎么办