IsonaEi

Godot Dev Guide

开发编程v1.0.0
作者:IsonaEi更新于 2026-05-11godot-dev-guide@clawhub_isonaei/godot-dev-guide
代码生成测试生成脚本工具

据 AlphaMoat 统计,截至 2026-09,Godot Dev Guide 累计下载 4,716 次、获 6 个星标,在全部 5,078 个 AI 技能中排名第 2,009 位,在「开发编程」分类(577 个)中排名第 257 位。

累计安装
444
累计下载
4,716
星标
6
全站排名
#2,009
全站前 40% · 「开发编程」前 45%
平台累计安装累计下载星标评论
ClawHub ↗612,0502-
SkillHub ↗4444,7166—

各平台的计数口径不同,统计时间不一致。

这个技能是做什么的

覆盖类型化GDScript、信号解耦、节点、输入、测试及导出。特别区分脚本与场景/资源序列化格式,避免在资源文件里写脚本语法;实际验证和导出需对应Godot环境。

资料发布于 2026-10-27

可以用来做什么

  • 检查Godot项目结构和资源格式

什么时候用

  • 开发或排查Godot游戏时

示例提示词

以下是根据技能文档生成的示例,不代表实际运行结果。

检查场景与资源文件的格式,并提出类型和信号设计的改进。

月度数据趋势

累计下载4,716
9592,9774,9942026-03 · 累计下载 1,2372026-05 · 累计下载 2,1262026-06 · 累计下载 2,4392026-07 · 累计下载 2,9332026-08 · 累计下载 3,4252026-09 · 累计下载 4,71626-0326-09
星标6
1462026-03 · 星标 12026-05 · 星标 42026-06 · 星标 42026-07 · 星标 42026-08 · 星标 62026-09 · 星标 626-0326-09

2026-09 起统计方法调整:同名技能按作者分别统计,并覆盖全部技能。图中虚线为调整前的月份,与之后的数据不直接比较,也不计算跨越调整的增长。

月份累计下载环比星标
2026-094,716—6
2026-083,425+16.8%6
2026-072,933+20.3%4
2026-062,439+14.7%4
2026-052,126—4
2026-031,237—1

SKILL.md 原文

以下是作者发布的原始文件,按纯文本显示,本站未做修改或审核;其中的链接不可点击,命令请核实后再运行。抓取于 2026-10-23。

4.1 KB · ClawHub v1.0.0
---
name: godot-dev-guide
description: "Godot 4.x 完整開發指南。涵蓋 GDScript 模式、文件格式(.gd/.tscn/.tres)、場景架構、物理/UI/音效、性能優化、多平台導出、測試。自動觸發於 Godot 相關開發。"
autoInvoke: true
priority: high
triggers:
  - "godot"
  - "gdscript"
  - ".gd"
  - ".tscn"
展开全部(共 181 行)
  - ".tres"
  - "scene"
  - "node"
  - "CharacterBody"
  - "RigidBody"
  - "Area2D"
  - "Area3D"
  - "project.godot"
---

# Godot Dev Guide Skill

Godot 4.x 遊戲開發完整指南,專為 AI 輔助開發設計。

## 核心原則

### 1. 文件格式差異(最重要!)

```
.gd  → GDScript 程式碼(完整語言)
.tscn → 場景序列化(嚴格格式,非 GDScript)
.tres → 資源序列化(嚴格格式,非 GDScript)
```

⚠️ **AI PITFALL:混淆 GDScript 與資源格式**
```gdscript
# ❌ WRONG in .tres/.tscn
script = preload("res://script.gd")
var items = [1, 2, 3]

# ✅ CORRECT in .tres/.tscn
[ext_resource type="Script" path="res://script.gd" id="1"]
script = ExtResource("1")
items = Array[int]([1, 2, 3])
```

### 2. 類型系統(永遠使用)

```gdscript
# 變數類型
var health: int = 100
var speed: float = 200.0
var items: Array[Item] = []
var stats: Dictionary = {}

# 函數簽名
func calculate_damage(base: int, multiplier: float) -> int:
    return int(base * multiplier)
```

### 3. 架構模式

```
組合優先於繼承
信號用於解耦通信
資源用於數據配置
自動載入用於全局系統
```

---

## 快速參考

### 項目結構

```
res://
├── project.godot
├── scenes/           # .tscn 場景
│   ├── player/
│   ├── enemies/
│   └── ui/
├── scripts/          # .gd 腳本
├── assets/           # 資源文件
├── autoload/         # 單例腳本
├── resources/        # .tres 資源
└── test/             # 測試
```

### 常用節點

| 2D | 3D | 用途 |
|----|----|----|
| CharacterBody2D | CharacterBody3D | 玩家/NPC 移動 |
| RigidBody2D | RigidBody3D | 物理模擬 |
| Area2D | Area3D | 碰撞檢測(無物理) |
| Sprite2D | MeshInstance3D | 視覺渲染 |

### Export 變數

```gdscript
@export var speed: float = 5.0
@export_range(0, 100, 1) var health: int = 100
@export_file("*.tscn") var next_level: String
@export_group("Combat")
@export var damage: int = 10
```

### 信號模式

```gdscript
signal health_changed(current: int, maximum: int)
signal died

func take_damage(amount: int) -> void:
    health -= amount
    health_changed.emit(health, max_health)
    if health <= 0:
        died.emit()
```

### 節點引用

```gdscript
@onready var sprite: Sprite2D = $Sprite2D
@onready var anim: AnimationPlayer = $AnimationPlayer
```

---

## 關鍵陷阱清單

| 陷阱 | 錯誤寫法 | 正確寫法 |
|-----|---------|---------|
| .tres 使用 preload | `preload("res://x.gd")` | `ExtResource("id")` |
| .tres 使用 var | `var x = 5` | `x = 5` |
| 未類型化陣列 | `[1, 2, 3]` in .tres | `Array[int]([1, 2, 3])` |
| 缺少 ext_resource | 直接使用 id | 先宣告 ext_resource |
| @onready 初始化 | 在宣告時存取其他節點 | 等到 _ready() |
| 直接修改資源 | `resource.value = x` | `resource.duplicate()` |
| 輸入處理 | UI 和遊戲混用 _input | UI 用 _gui_input |

---

## 參考文件

| 主題 | 路徑 |
|------|------|
| 項目結構 | `references/01-project-structure.md` |
| GDScript 模式 | `references/02-gdscript-patterns.md` |
| 文件格式 | `references/03-file-formats.md` |
| 場景與節點 | `references/04-scenes-nodes.md` |
| UI 與輸入 | `references/05-ui-input.md` |
| 物理系統 | `references/06-physics.md` |
| 音效與動畫 | `references/07-audio-animation.md` |
| 性能優化 | `references/08-performance.md` |
| 導出平台 | `references/09-export.md` |
| 測試指南 | `references/10-testing.md` |

---

## CLI 快速命令

```bash
# 運行遊戲
godot --path .

# 驗證腳本
godot --path . --check-only --script path/to/script.gd

# 無頭測試
godot --path . --headless --quit

# 導出
godot --path . --export-release "Preset Name" builds/game.exe
```

---

**Version:** 1.0.0 | **Last Updated:** 2026-02-17

「开发编程」分类下的热门技能

数据月份:2026-09 · 下载/星标/安装数聚合自公开技能注册库(ClawHub、SkillHub),按月更新。口径说明见数据方法。