跳到主要内容

如何在星火编辑器项目中使用Git

星火编辑器的游戏项目推荐使用SourceTree来进行Git版本管理,如果有多人协作和上传项目的需求,建议将项目托管到Gitee。

以下为Git和SourceTree在星火编辑器项目中的使用流程和方法:

托管项目到本地Git库并完成第一次提交

在星火编辑器创建新项目后,可以把该项目托管到本地Git库,进行项目管理操作。

首先,在SourceTree中选择Create,这个选项可以根据现有文件夹创建Git库。

点击浏览,选择现有项目的文件夹根目录(项目文件夹可以在编辑器菜单的『文件-打开当前项目文件夹』获取),选好之后点击创建按钮。

点击创建,会弹出一个对话框,这里选择是。

建好仓库后,可以看到下方暂存文件栏内出现了该项目的所有文件。此时点击『暂存所有』按钮,会把这些项目文件放到待提交区域。

选择待提交的文件后,需要在下方提交栏内填写提交说明,并点击提交按钮,完成本次提交。

点击提交按钮,即可看到SourceTree内出现了刚才的这次提交记录和提交信息。

上传项目到Gitee

如果想要和其他开发者共同开发一个游戏项目,就需要把当前项目托管到服务器或平台。这里以Gitee为例介绍如何上传一个项目,其他平台(如GitHub等)参考对应平台的说明文档。

首先打开Gitee的官网,登录或注册账号。

进入个人中心页面后,点击右上角的+号按钮,选择新建仓库

在新建仓库的页面中,填写仓库名称和仓库介绍,最后点击下方创建按钮,这样一个空的仓库就已经创建好了。

回到SourceTree,点击右侧远端按钮,配置当前项目的远端仓库。

这里可以看到有一个远端项目配置的提示对话框,点击设置即可。

在弹出的窗口中点击添加,需填写刚才创建好的仓库的远端名称(仓库名称)和地址(网页地址),填写好之后点击确定。

配置好远端仓库的连接后,可以点击左侧推送按钮,把当前项目推送到远端服务器。推送时,需要选择当前开发的分支进行推送,新项目只需要勾选主分支master并点击推送。

在推送的过程中,系统可能会提示要求输入账号密码,这里填写的是Gitee的账号密码。

至此,当前游戏项目已经推送到了Gitee服务器,可以和其他开发者协作开发游戏了,其他Git相关操作请参考这篇教程

项目内各部分更改后需要上传哪些文件

作为参考,星火编辑器项目内各文件夹介绍请点击这里

数据编辑器

数据编辑器的文件夹在editor/table目录下,每个数编蓝图文件夹内有两个文件和一个文件夹:

路径描述
entry_data.ini数编蓝图的配置文件
ui_data.ini数编蓝图的UI显示配置文件(在数编中的位置)
i18n存放本地化数据的文件夹,其中包含一个default.json(默认值)和不同语言的json文件

更改/添加/删除一个数编蓝图后,以上文件或改动全部需要上传。

触发编辑器

服务端和客户端的触发器的存储位置分别在项目内src和ui/src文件夹下。

trigger_module.json和trigger_module.json.declare为所有触发器元素的定义集合;每个触发器元素(触发器、函数、类、事件、变量等)单独在data文件夹下存放。修改触发器后,待上传的文件如下图所示:

注意:使用git拉取最新工程后,需要运行项目目录下update_file.bat来重置触发编辑器的状态,否则保存项目有概率不会保存触发器。

界面编辑器

在星火编辑器中,每一个页面就是一张数编蓝图模板,也就是说,界面编辑器读取的是数编数据。

修改/增加/删除界面

在界面编辑器中修改/增加/删除页面后,可以在Git中看到数编数据已经发生了变化。界面编辑器的模板蓝图存储在editor/table/entry_data/template@gui_ctrl目录下,需要全部上传。

UI事件

在界面编辑器中给任意UI添加界面事件,除了会修改该UI的数编属性,还会额外在ui/src/gui/ui_response文件夹内新建一个触发器定义文件。该文件和正常的触发器没有任何区别,运行时会根据该配置文件生成触发器公式,供外部调用。

预制功能

添加或修改了官方预制功能,需要上传libs.json和对应的数编、界编和场景文件。此外,一些库会引入额外资源,在这种情况下项目内ref文件夹对应的资源引用文件也必须上传。

如果使用了自定义的预制功能,则需要同时上传local_libs.json和libs.json。

场景

场景文件存储在scene文件夹内,其中每个目录的文件夹名为该场景的实际名称。更改场景的任意部分(例如地形、碰撞等)都需要全量上传。

特别注意:由于场景文件存储格式是二进制,不能增量保存和修改,所以同一时间内只能由一个人修改一个场景。

更改现有场景

更改现有地图的地形后,保存项目,可以看到scene目录下当前场景的文件夹出现了改动,需要上传。此外,服务端(script)和客户端(ui/script)的触发器目录下也会更新场景区域相关信息(area_save.lua),需要一并上传。

添加新场景

添加新场景时,除了会在scene场景内多出新场景的文件夹,触发器增加新场景信息外,还会更新场景定义文件,以及在数编里新建新场景的镜头蓝图。对应的文件如下:

路径描述
scene/.sceneconfig场景的配置信息(包括初始场景等)
scene/scene_server_tag.lua场景的服务器标签,默认为default(不能改)
ref/场景名/objref.txt场景内资源统计列表
editor/table/entry_data/camera_property场景镜头相关数编配置文件

添加一个新场景时,以上文件都需要上传。