Files
spellforge/docs/handbook/01_quickstart.md
T
2026-07-20 10:56:52 +08:00

3.2 KiB
Raw Blame History

01 快速上手 (Quickstart)

1. 环境要求

工具 版本 下载
Godot Engine 4.6 Mono(带 .NET 支持) godotengine.org
.NET SDK 8.0+ dotnet.microsoft.com
Git 任意 git-scm.com

重要:必须下载 Mono/C# 版本 的 Godot(文件名含 mono),否则 C# 文件无法编译。


2. 首次运行

# 1. 克隆项目
git clone <repo-url>

# 2. 用 Godot 4.6 Mono 打开 project.godot
# 菜单: Project → Open / Import

# 3. 等待导入完成(首次约 10-30 秒)

# 4. 直接按 F5 运行,或菜单: Debug → Run Project

运行后你会看到:战斗场景直接开始,玩家(青色方块)自动发弹,敌人(红色方块)向玩家靠近。


3. 主场景说明

唯一可玩主场景:scenes/main/combat_s2.tscn

project.godot
└── run/main_scene = "res://scenes/main/combat_s2.tscn"

游戏循环

战斗 (BATTLE)
  ↓ 全部敌人/Boss 死亡
波次结算 → 商店 (SHOP)
  ↓ 关闭商店
战斗 (下一波)
  ↓ 玩家死亡
结算屏 (GAME_OVER) → 再来一局

商店内操作

按钮 功能
法术卡 购买并装入当前法杖
法杖 ⟳ 切换 Core(法杖类型)
🎒 背包 打开插槽编辑器,自由排布法术
刷新 重新随机商店(花费金币)
⚙ 设置 难度 / 语言 / 音量 / 清除数据
出发下一波 进入下一波战斗

4. 调试工具

编辑器内测试

在任何场景运行时,可以通过 MCP 脚本执行器(godot-mcp 插件)向游戏注入 GDScript

# 示例:快速生成一个 Boss 进行测试
EnemyManager.reset()
WaveManager.start_wave(20)   # 直接启动 W20 Boss 战

HUD 调试信息

运行时左上角 HUD 显示:

  • 当前波次 / HP / 金币 / XP / 击杀数
  • DPS / 蓄力百分比
  • [Core名] [法术id列表](当前装备)
  • 状态实例数 / VFX 数

快速切波次

# 在游戏内执行(须在商店状态下)
# 方法:打开商店后跳到指定波次再出发
WaveManager.current_wave = 14            # 设置当前波次基准
# 然后在商店中点「出发下一波」,即进入 W15 精英战
# 或直接重置重开:get_tree().current_scene._cm.start_game()

5. 项目配置文件

文件 说明
project.godot 引擎配置、Autoload 列表、主场景
user://save_data.json 设置(难度/语言/音量),运行时生成
user://run_a.json run_b.json 局内 A/B 双槽存档
user://endless_records.json 本地排行榜(HMAC 签名)

user:// 路径在 Windows 上位于 %APPDATA%\Godot\app_userdata\Rogue\


6. 常见问题

Q: F5 运行后没有画面(黑屏)
A: 确认下载的是 Mono 版;等待 .NET 首次编译完成(约 30s)。

Q: 敌人/子弹消失了但没有波次结算
A: 可能生命时间到期。重启当前波次:WaveManager.start_wave(WaveManager.current_wave)

Q: 更改了 wand_preset.gd 的法术数值,但游戏里没有变化
A: SpellRegistry_ready() 时缓存法术对象;需要重启游戏(F5 重新运行)使改动生效。