如何组织你的游戏工程本页总览如何组织你的游戏工程 在游戏开发的世界中,项目管理和代码组织是非常关键的一环。本教程旨在介绍如何使用 Dora SSR 开源游戏引擎来组织和管理游戏项目工程目录。 1. 了解 Dora SSR 的项目管理机制 Dora SSR 引擎采用基于文件目录的方式来管理游戏项目。在这种结构中,任何包含名为 init 的文件的目录都会自动被识别为游戏工程的根目录。这个 init 文件的扩展名可以是 .yue、.lua、.ts、.tsx、.tl 或 .wasm。 2. 游戏工程目录的识别 当使用 Dora SSR 的 Web IDE 开发时,如果打开任何代码文件进行预览或编辑,并执行项目运行操作,IDE 将自动从当前打开文件的目录开始向上搜索,直到找到包含 init 文件的根目录。游戏的运行测试将从这个 init 文件启动。 3. 工程目录组织建议 为了更加标准化地组织自己的游戏工程,建议(并非强制要求)按以下方式组织游戏项目目录: 游戏项目根目录 Audio:用于存放游戏音频资源。 Data:用于存放静态的游戏数据文件如Excel表格,脚本编写的配置表等。 Font:用于存放游戏的字库文件资源。 Image:用于存放游戏图片资源。 Script:存放脚本文件,如 Lua、YueScript 、 Teal 或是 TS 代码。 Spine:用于存放游戏动画资源。 init.yue | lua | tl | ts | tsx | wasm:项目启动文件,根据使用的脚本语言选择合适的扩展名。 这种结构不仅清晰,也便于管理和维护。 4. 代码模块的搜索路径 在编写 Lua、YueScript、Teal 和 TypeScript 代码时,如果需要导入外部模块,Dora SSR 引擎运行时和 Web IDE 将按以下顺序搜索代码模块: 游戏项目根目录/Script 游戏项目根目录 引擎内置资源根目录/Script/Lib 引擎内置资源根目录/Script/Lib/Dora/zh-Hans 引擎内置资源根目录 其中,对 序号3 的搜索路径的使用请确认已经了解了 Dora SSR 提供的开发辅助的功能库的使用,序号4 的搜索路径主要是用于给多种静态类型的脚本语言提供 Dora SSR 引擎接口的类型定义文件。请确保你的模块存放路径符合上述搜索逻辑,以便在项目中无缝使用。 模块导入示例 project/├── init.lua└── Script/ ├── moduleA.lua └── moduleB.lua LuaTealTypeScriptYueScriptinit.lua-- 导入本地模块local moduleA = require("moduleA") -- 使用了`序号1`的搜索路径: project/Script/moduleA.lualocal moduleB = require("Script.moduleB") -- 使用了`序号2`的搜索路径: project/Script/moduleB.lua-- 导入引擎内置模块local Utils = require("Utils") -- 使用了`序号3`的搜索路径: 引擎内置资源根目录/Script/Lib/Utils.luainit.tl-- 导入本地模块local moduleA = require("moduleA") -- 使用了`序号1`的搜索路径: project/Script/moduleA.lualocal moduleB = require("Script.moduleB") -- 使用了`序号2`的搜索路径: project/Script/moduleB.lua-- 导入引擎内置模块local Utils = require("Utils") -- 使用了`序号3`的搜索路径: 引擎内置资源根目录/Script/Lib/Utils.luainit.ts// 导入本地模块import moduleA from "moduleA"; // 使用了`序号1`的搜索路径: project/Script/moduleA.tsimport moduleB from "Script/moduleB"; // 使用了`序号2`的搜索路径: project/Script/moduleB.ts// 导入引擎内置模块import * as Utils from "Utils"; // 使用了`序号3`的搜索路径: 引擎内置资源根目录/Script/Lib/Utils.luainit.yue-- 导入本地模块import "moduleA" -- 使用了`序号1`的搜索路径: project/Script/moduleA.yueimport "Script.moduleB" -- 使用了`序号2`的搜索路径: project/Script/moduleB.yue-- 导入引擎内置模块local Utils = require("Utils") -- 使用了`序号3`的搜索路径: 引擎内置资源根目录/Script/Lib/Utils.lua 5. 最佳实践 保持代码和资源的组织清晰,有助于团队协作和项目维护。 利用 Dora SSR Web IDE 的代码检查的功能来即时看到代码模块导入生效的效果。 检查项目目录下是否存在正确命名的 init 文件,确保项目能被正确加载和运行。 通过遵循这些指南,你可以有效地管理和运行你的游戏项目,祝你利用 Dora SSR 引擎的强大功能,创作出引人入胜的游戏体验。