GDevelop 扩展开发与贡献指南
欢迎来到 GDevelop 扩展仓库的教程!本指南将带你深入了解项目结构、关键文件及其用途,帮助你开始创建或贡献于这些游戏开发增强组件。
1. 项目目录结构及介绍
GDevelop 扩展仓库遵循清晰的组织结构,以便开发者能够高效地浏览和编辑:
-
extensions
: 核心区域,存放着各个扩展的源代码。每个扩展都有自己的子目录,内含定义其行为、动作、条件和表达式的文件。- 在这个目录下的子目录中,你会找到
.json
配置文件以及相关的JavaScript实现文件(.js
),它们共同定义了扩展的功能。
- 在这个目录下的子目录中,你会找到
-
__tests__
: 包含用于测试扩展功能的自动化测试案例,确保扩展按预期工作。 -
scripts
: 存放各种脚本文件,可能用于构建流程、自动测试等。 -
.gitignore
,.prettierrc
,CODEOWNERS
,LICENSE
,README.md
,package*.json
: 这些是标准的Git和Node.js项目文件,用于版本控制设置、代码格式化、权限分配、许可声明、项目说明以及依赖管理和打包配置。 -
CONTRIBUTING.md
(未直接列出,但通常存在): 指引贡献者如何参与项目开发,提交变更的流程。 -
gh-actions
,gitpod
: 特定于GitHub工作流和GitPod环境的配置,用于自动化建设和开发环境设置。
2. 项目的启动文件介绍
虽然这个仓库不涉及传统意义上的“启动文件”(如入口点main函数),但它的工作起点可以认为是当你在GDevelop应用中选择“加载扩展”时的交互过程。每个扩展的核心逻辑初始化来源于其.json
配置文件中的指定,而实际执行则依赖于对应JavaScript文件中的函数。
3. 项目的配置文件介绍
-
.json
配置文件:位于每个扩展子目录下,这是扩展的生命线。它定义了扩展的名字、作者、版本等元数据,以及该扩展提供的行为、动作、条件和表达式。JSON格式保证了一致性和易读性,同时也是GDevelop识别和加载扩展的依据。示例结构简要包括:
{ "name": "示例扩展", "author": "你的名字", "version": "1.0", "description": "扩展描述", "extension-folder": "example-extension", "features": [ {"type": "action", "id": "doSomething", "name": "做某事"}, // ...更多行为、条件等 ] }
-
package.json
: 描述项目所需的Node.js包和脚本命令,对开发工具链至关重要,尤其是在进行自动化测试和构建时。
通过理解上述结构和文件,你可以顺利地导航项目、创建新的扩展或对现有扩展进行改进。记得查看官方文档和贡献指南,以确保遵循最佳实践,并使您的贡献能够顺利合并到主仓库中。