【 Godot 4 学习笔记】命名规范

命名规范

类型 命名规范 示例
文件与文件夹 snake_case (蛇形) player_controller.gd, assets/
类名 / 脚本名 PascalCase (大驼峰) PlayerController, YAMLParser
场景节点名 PascalCase (大驼峰) HitBox, Camera3D, Player
函数 / 方法 snake_case (蛇形) func load_level():
变量 / 信号 snake_case (蛇形) var player_health, signal door_opened
常量 / 枚举成员 CONSTANT_CASE (全大写) const MAX_SPEED = 200

文件夹结构。

这套结构采用了"按功能模块分类"的逻辑,非常适合中大型项目的长期维护:

text 复制代码
res:// (项目根目录)
├── addons/                 # 第三方插件(从资产商店下载的插件放这里)
├── assets/                 # 纯美术与音频资源(不参与逻辑,只负责存放素材)
│   ├── audio/
│   │   ├── music/          # 背景音乐
│   │   └── sfx/            # 音效
│   ├── fonts/              # 字体文件 (.ttf, .otf)
│   ├── images/             # 通用图片(如Logo、背景图)
│   ├── sprites/            # 精灵图/贴图
│   ├── textures/           # 3D纹理或程序化材质贴图
│   └── models/             # 3D模型文件 (.glb, .obj)
├── scenes/                 # 所有的场景文件 (.tscn)
│   ├── actors/             # 游戏中的动态实体
│   │   ├── player/         # 玩家相关(如 player.tscn, player.gd)
│   │   ├── enemies/        # 敌人相关
│   │   └── npcs/           # NPC相关
│   ├── levels/             # 关卡与地图场景
│   │   ├── world_map.tscn
│   │   └── level_01.tscn
│   ├── ui/                 # UI界面场景
│   │   ├── main_menu.tscn
│   │   ├── game_hud.tscn
│   │   └── pause_panel.tscn
│   └── systems/            # 全局系统场景(如 autoload 的单例场景)
├── scripts/                # 独立的 GDScript 脚本文件 (.gd)
│   ├── globals/            # 全局单例脚本(非场景类,如 global_data.gd)
│   ├── components/         # 可复用的组件化脚本(如 health_component.gd)
│   ├── utils/              # 纯工具类、算法类脚本
│   └── resources/          # 自定义 Resource 资源的配套脚本
├── resources/              # 游戏数据资源 (.tres, .res)
│   ├── items/              # 物品数据(如 sword.tres, potion.tres)
│   ├── characters/         # 角色属性配置数据
│   └── levels/             # 关卡专属的配置数据
└── docs/                   # 项目开发文档(Godot导出时会自动忽略此文件夹)
    ├── design.md           # 核心设计草案
    └── todo.md             # 开发待办清单

结构设计核心思路

  1. assets/scenes/ 彻底分离
    assets/ 文件夹只负责存放最原始的素材(图片、声音、模型),而 scenes/ 负责将这些素材组装成带有逻辑的游戏对象。这样做的好处是,当你的项目变大时,找一张图和找一个游戏场景不会混在一起。

  2. scripts/ 独立存放

    虽然 Godot 允许把 .gd 脚本和 .tscn 场景放在同一个文件夹里,但对于稍微复杂一点的项目,将纯代码脚本抽离到 scripts/ 目录下,会让你的版本控制(Git)提交记录更加清晰,也方便复用代码。

  3. 充分利用 resources/ 管理数据

    Godot 强大的自定义资源(Custom Resources)系统非常适合做数值策划。将物品的属性、敌人的血量等数据剥离出来放在 resources/ 里,以后你想调整数值平衡时,完全不需要去碰复杂的代码逻辑。

  4. 善用 docs/ 文件夹

    在根目录建一个 docs/ 用来放你的设计草稿、待办事项或者 AI 对话生成的需求文档。Godot 在打包导出游戏时,默认只会打包引擎识别的资源文件,这些 .md.txt 文档不会被塞进最终的游戏包里,所以你可以放心地把项目笔记存在这里。

相关推荐
觅_2 小时前
前端学习后端的时候 选择一个技术
前端·学习
吃吃今天努力学习了吗2 小时前
【大模型入门学习笔记】常见概念总结
笔记·学习
Bechamz2 小时前
大数据开发学习Day39
大数据·学习
魔法阵维护师3 小时前
从零开发游戏需要学习的c#模块,第十章(设计模式入门)
学习·游戏·设计模式·c#
GEO从入门到精通3 小时前
GEO学习能帮我提高AI搜索排名吗?
人工智能·学习
ᰔᩚ. 一怀明月ꦿ3 小时前
MySQL 学习目标
学习·mysql·adb
吃好睡好便好3 小时前
用if…end…语句计算分段函数
开发语言·人工智能·学习·算法·matlab
Lin_Aries_04213 小时前
从零部署GenieSim:基于OpenPI的仿真环境搭建与录制教程
笔记·具身智能·datawhale
爱睡懒觉的焦糖玛奇朵3 小时前
【从视频到数据集:焦糖玛奇朵的魔法工具Video To YOLO Dataset】
人工智能·python·学习·yolo·音视频