跳到主要内容

如何修改一个项目的项目ID

有时候我们需要将手头项目的项目ID替换为一个新的项目,该如何进行操作呢?

为什么要替换项目ID?

我们必须清晰一个概念,您的游戏和游戏项目id并非一一对应关系!

比如进行删档的工坊测试、正式上线等,我们都会推荐大家替换一下项目id!

也就是说,游戏甲项目初始项目id是1,第一次工坊测试是1,第二次工坊测试可以替换成2,到了正式上线再替换成3。

但是每个项目id有自己独立的数据库和独立的后台!

什么是项目ID:

  1. 可以在编辑器左上角找到项目的名称和ID,以下面这张图为例,名称是UISceneDemo,ID为p_itsa

  2. 项目文件夹下 project/map_settings.json 找到 ProjectName,后面以p开头的为项目id

在替换旧ID前,生成新的ID:

由于创建项目伴随着云变量数据库的初始化,所以并不能完全自定义一个项目ID。

我们需要创建一个新项目,从项目中获得到新的项目ID;用新的项目ID,全局覆盖旧项目中的项目ID,即可完成旧项目ID的修改。

如何进行全局替换

建议使用Sublime Text进行全局替换。

安装好Sublime之后,需要按照如下步骤操作:

  1. 把项目的.gitignore文件(git忽略文件)和res/project_resources.json文件(项目资源文件)进行备份,然后删除项目的这两个文件

  2. 打开Sublime,把这个项目的文件夹拖进Sublime里面,然后在菜单选择Find -> Find in Files(查找 -> 在文件中查找)

  3. 用老的项目名替换成新的项目名,并点击Replace按钮进行替换。

    根据项目复杂度的不同,可能会有数千-数万个结果。如果有比较多的结果,可以多执行几次,直到所有的旧项目名都被替换掉。

  4. 点击文件(File)菜单,保存全部(Save All),再把之前备份好的.gitignore文件和res/project_resources.json文件原封不动放进项目中。

  5. 用星火编辑器打开替换过的旧项目,对数编、触发、界编进行一次改动(比如改一个属性,加一个控件),并保存项目。

此时项目ID替换完成,再上传便是一个全新的项目了。

由于项目ID发生了变化,新项目的云变量不再读取旧项目的数据表(不影响旧项目)。