有一个类似游戏大厅的需求,目前设计的结构是大厅+子游戏集合,子游戏都是在大厅里按用户需求下载的(只考虑jsb环境),每个子游戏的资源和脚本都在单独的目录里。
大厅的工程和各个子游戏的工程都是独立的,想用creator来实现,可通过require或eval指定路径的子游戏脚本,但现在遇到的问题是:
- 游戏的场景会被统一放在libraryPath目录下,子游戏会被下载到可写目录中,这会造成从大厅启动子游戏,却找不到子游戏的场景;
- 场景中所需的资源,会被放在rawAssetsBase目录下,同样找不到子游戏的场景中的资源;
请问如何修改creator中的源码,可以在eval子游戏脚本前,将子游戏目录中的场景和资源等注册到CCAssetLibrary资源管理器中,难道creator中不能fileUtils那样自动搜索给定目录么?cc.loader 这种模式倒是可以兼容jsb和web,但导致我现在这样的需求很难实现。请问在creator现有的模式下,对于游戏大厅+子游戏这种需求,有比较好的解决方案,或者工程组织方案么?
我现在已经可以在主大厅里,通过require调用到子游戏的脚本代码,但是场景无法启动,通过在启动子游戏之前,重新初始化cc.AssetLibrary.init(),设置libraryPath和rawAssetsBase,可以找到场景的json文件 ,但无法识别,报
ERROR : The asset f40a2991-639d-4725-91e8-c14f46e26858 is not a scene 的错误,请问这是怎么回事?
