2019年7月14日
Cocos Creator 如何防止场景版本提交冲突
Cocos creator 数据化驱动,组件化开发,可视化编辑,非常的方便, 在日常得开发中,多人合作,提交版本可能会有冲突。
传动的代码冲突,通常我们直接去人工合并和修正就可以了,
可是遇到了场景冲突如何解决?
一般的做法是,大家将游戏分成多个场景, 每个人负责一个场景,
每次改动场景的时候, 都需要提前说一声,然后fetch最新内容,同步到远端仓库。
但是这种问题还有其余的解决方法吗?
有几个原则我们来看下。
1: 场景中尽量不要有东西,在里面,只要有一些最基本的东西, 比如Cavans + Camera, 那么场景物体这些,通过代码加载预制体等生成出来,确保代码模块内容更新的时候冲突会发生丢失。
2: 预制体view 视图上尽量不要绑定代码, 这样的话,同时修改一个组件代码时, 不会有冲突。
视图上面绑定代码,可以通过代码添加组件来完成。
视图上绑定事件等,也都使用代码来完成。
3: 每个视图做成单元化,尽可能的功能单一,同一时间一个人开发, 避免大家之间相互冲突。
通常情况下,开发过程中我会在场景中保留一个重要的节点,这个是启动节点,然后挂一个启动脚本。启动脚本负责初始化一些重要的管理模块,脚本模块,保证游戏入口的唯一性,程序的逻辑性。
有些重要管理模块 要挂载的,都挂在完成。
然后进入到游戏的初始化流程,比如创建视图,创建地图,挂在脚本等。 制作视图的时候,用场景编辑器,制作完成以后,把视图保存为预制体,然后代码new 出来,确保下载在另一台机器或者组合式开发过程中拉取代码不会产生文件损坏,丢失,或者视图内容缺少之类的芸芸…….
同时编写一些统一的接口,来挂UI上面的脚本,事件等, 不在界面上去挂。这样基本上能解决creator开发冲突的问题。
end…….