Godot Gdscript Patterns

作者 wshobson46891e7e60da無授權條款收錄於 2026年10月8日更新於 2026年10月8日

Master Godot 4 GDScript patterns including signals, scenes, state machines, and optimization. Use when building Godot games, implementing game systems, or learning GDScript best practices.

AI 產生的概覽

關於 Godot 4 GDScript 模式的參考指南,涵蓋遊戲架構、訊號、場景、狀態機與最佳化。

功能
這個技能提供面向正式環境的 Godot 4.x GDScript 遊戲開發指引,涵蓋架構、訊號、場景、狀態管理與效能最佳化。它說明節點、場景、資源、訊號和群組等核心概念,並附上帶註解的 GDScript 範例,例如包含匯出變數、訊號與受傷處理的玩家類別。更深入的模式文件放在隨附的參考檔案中,當主要概觀不足時由代理程式讀取。
適用情境
適合用 Godot 4 開發遊戲、以 GDScript 實作遊戲系統、設計場景架構或管理遊戲狀態時使用。也適合 GDScript 效能調校與學習 Godot 最佳實務。
執行需求
未附指令碼,只有說明文件與兩份供模型讀取的參考檔案。代理程式需要能存取這些參考檔案,並假定工作環境是 Godot 4 專案。

Godot GDScript Patterns

Production patterns for Godot 4.x game development with GDScript, covering architecture, signals, scenes, and optimization.

When to Use This Skill

  • Building games with Godot 4
  • Implementing game systems in GDScript
  • Designing scene architecture
  • Managing game state
  • Optimizing GDScript performance
  • Learning Godot best practices

Core Concepts

1. Godot Architecture

Node: Base building block├── Scene: Reusable node tree (saved as .tscn)├── Resource: Data container (saved as .tres)├── Signal: Event communication└── Group: Node categorization

2. GDScript Basics

gdscript
class_name Playerextends CharacterBody2D
# Signalssignal health_changed(new_health: int)signal died
# Exports (Inspector-editable)@export var speed: float = 200.0@export var max_health: int = 100@export_range(0, 1) var damage_reduction: float = 0.0@export_group("Combat")@export var attack_damage: int = 10@export var attack_cooldown: float = 0.5
# Onready (initialized when ready)@onready var sprite: Sprite2D = $Sprite2D@onready var animation: AnimationPlayer = $AnimationPlayer@onready var hitbox: Area2D = $Hitbox
# Private variables (convention: underscore prefix)var _health: intvar _can_attack: bool = true
func _ready() -> void:    _health = max_health
func _physics_process(delta: float) -> void:    var direction := Input.get_vector("left", "right", "up", "down")    velocity = direction * speed    move_and_slide()
func take_damage(amount: int) -> void:    var actual_damage := int(amount * (1.0 - damage_reduction))    _health = max(_health - actual_damage, 0)    health_changed.emit(_health)
    if _health <= 0:        died.emit()

Detailed patterns and worked examples

Detailed pattern documentation lives in references/details.md. Read that file when the navigation tier above is insufficient.

來源與署名

來源:wshobson/agents位於plugins/game-development/skills/godot-gdscript-patterns提交46891e7

授權條款: 無授權條款

內容歸原作者所有。SourceWeft 從公開儲存庫中收錄這些內容。

檢舉或申請下架