两个cocos项目如何互通

噢噢,那我试试

  1. 把主项目打包成H5并且发布
  2. 自定义调试和发布模板,优先加载主项目,再通过配置插槽加载子项目

这样应该能实现把你的子项目外包到外面开发

好的 :+1:我做个demo尝试一下,不知道2dx的和creator的是不是都可以这样实现

原理是一样的对于app来说一个模块一个bundle就可以了,对于小游戏来说要分两个:script和res

眼光放远点,直接找老板立项做个类微信小游戏运行时容器(需要若干XX大佬招聘需求)就行了, 不但cocos游戏能互通,cocos和laya, cocos和unity也能互通,cocos和小程序、web也能互通,还能联运其他厂商的游戏也能运行,岂不美哉

你这种是webview的类型吧,直接打包H5都可以做到

对于APP,我们现在是通过热更新的模式,把各个游戏像热更新那样下载下来,然后去加载的。H5网页的话还不知道怎么弄

好多年不用cocos,我记得我那会每一个游戏是一个工程,大厅是一个工程,是用的bundle。另外cocos和unity互通则是在java里面改的

bundle打包出来后,下载到本地,然后加载里面的index.js就可以了,是这样的么?

我主要是主程的代码怎么调用子游戏的bundle这块不太清楚

你网页真机不都一样吗,打出来都是单独的bundle包,加载对应子bundle的初始场景就行。

好吧,我还得多实践试试,不然一头雾水,没有一个清晰的过程

主程序写一个全局变量的通信标准插件,主工程和子游戏工程共用一套通信标准,主工程打包包含插件,子工程打包发布bundle不包含通信插件

做几个bundle包。打包的时候做一个打包插件,做2个配置,可以切换,分别对应打不同的bundle ,我目前就是这样做的,我也是一个主项目,做了2个微信小游戏,对应不同的玩法

你这个需要项目同时在本地吧?不然没法打包到一起~我预想的是子游戏加载的是远程文件,可以不分场景,不分地点,只要给个远程链接加载下来就能使用的

如果走小程序的话就不行,小程序不允许动态加载代码,也就是说即使你资源分开到两个工程,但是你的代码是无法分开的

是的,所以我开头说的是原生端和网页端的

那你试试这个https://forum.cocos.org/t/topic/155155/20,如果是web或者原生的话应该可以直接下载并执行模块

我没试过加载代码的情况,但是逻辑应该差不多,原生和web需要特殊处理一下动态代码加载的情况就可以了

好的,我试试 :+1: