Fähigkeiten godot-gdscript-patterns
🎮

godot-gdscript-patterns

Sicher

Godot 4 GDScript-Muster meistern

Auch verfügbar von: wshobson

Die Entwicklung von Godot-Spielen ohne angemessene Architektur führt zu nicht wartbarem Code und Leistungsproblemen. Dieses Skill bietet produktionsreife GDScript-Muster, einschließlich Zustandsautomaten, Komponentensystemen, Object-Pooling und Speichersystemen, um Ihnen zu helfen, saubere, skalierbare Spiele zu entwickeln.

Unterstützt: Claude Codex Code(CC)
🥉 75 Bronze
1

Die Skill-ZIP herunterladen

2

In Claude hochladen

Gehe zu Einstellungen → Fähigkeiten → Skills → Skill hochladen

3

Einschalten und loslegen

Teste es

Verwendung von "godot-gdscript-patterns". Erstellen Sie einen Zustandsautomaten für einen Gegner mit den Zuständen Idle, Patrol und Chase

Erwartetes Ergebnis:

Generiert StateMachine-Klasse (erweitert Node), State-Basisklasse und drei konkrete Zustandskripte: EnemyIdle, EnemyPatrol und EnemyChase. Einschließlich Übergangslogik basierend auf Spielerabstandserkennung und Signalverbindungen für Zustandsänderungen.

Verwendung von "godot-gdscript-patterns". Erstellen Sie einen Object-Pool für Projektile mit 20 anfänglichen Instanzen

Erwartetes Ergebnis:

Stellt ObjectPool-Skript mit get_instance()- und return-Methoden sowie PooledBullet-Skript mit Lebensdauerverwaltung, geschwindigkeitsbasierter Bewegung und returned_to_pool-Signal bereit. Einschließlich Initialisierungscode, der 20 deaktivierte Projektil-Instanzen vorab erstellt.

Sicherheitsaudit

Sicher
v1 • 2/25/2026

Static analysis detected 60 potential security issues, all confirmed as false positives after review. All 'external_commands' findings are markdown code fence delimiters in GDScript examples. 'Weak cryptographic algorithm' findings refer to Godot 4's built-in encrypted file API (FileAccess.open_encrypted_with_pass) used legitimately in save system examples. 'Generic API keys' finding is a placeholder encryption key in example code (your_secret_key_here). 'Network' findings are documentation links to legitimate Godot resources. This skill contains only educational GDScript code examples and documentation with no executable content or security risks.

2
Gescannte Dateien
841
Analysierte Zeilen
0
befunde
1
Gesamtzahl Audits
Keine Sicherheitsprobleme gefunden
Auditiert von: claude

Qualitätsbewertung

38
Architektur
100
Wartbarkeit
87
Inhalt
50
Community
100
Sicherheit
100
Spezifikationskonformität

Was du bauen kannst

Spieler-Zustandsautomat implementieren

Erstellen Sie einen Zustandsautomaten für Spielfiguren mit den Zuständen Idle, Move, Attack und Jump. Verwenden Sie dies bei der Entwicklung von Plattformern oder Action-Spielen, bei denen das Spielerverhalten basierend auf dem Spielzustand ändert.

Object-Pooling für Projektile

Implementieren Sie Object-Pooling für häufig gespawnte Objekte wie Projektile. Verwenden Sie dies, um Garbage-Collection-Unterbrechungen zu reduzieren und die Leistung in Spielen mit vielen gespawnten Entitäten zu verbessern.

Komponentenbasiertes Gesundheitssystem

Erstellen Sie wiederverwendbare Gesundheits-, Hitbox- und Hurtbox-Komponenten, die an jede Spielentität angehängt werden können. Verwenden Sie dies bei der Entwicklung von Spielen mit vielen Charakteren, die Kampffunktionalität benötigen.

Probiere diese Prompts

Einfachen Zustandsautomaten erstellen
Erstellen Sie einen Zustandsautomaten für einen [ENTITY_TYPE] mit den Zuständen: [LIST_STATES]. Einschließlich der StateMachine-Klasse, der State-Basisklasse und einer konkreten Zustandsimplementierung.
Object-Pool implementieren
Erstellen Sie ein Object-Pool-System für [OBJECT_TYPE], das [NUMBER] Objekte vorab instanziiert und dynamisch wachsen kann. Einschließlich des Pool-Skripts und eines gepoolten Objekt-Skripts mit Spawn-/Despawn-Callbacks.
Komponentensystem erstellen
Entwerfen Sie ein Komponentensystem mit [COMPONENT_1] und [COMPONENT_2], die über Signale interagieren. Jede Komponente sollte eigenständig und an jeden Knoten anhängbar sein.
Speichersystem mit Verschlüsselung erstellen
Implementieren Sie ein Speichersystem, das [DATA_TYPES] in einer verschlüsselten Datei speichert. Einschließlich des SaveManager-Autoloads und einer Saveable-Komponente für einzelne Objekte.

Bewährte Verfahren

  • Knotenreferenzen mit @onready zwischenspeichern, anstatt get_node() in Prozessschleifen aufzurufen
  • Verwenden Sie Signale zur Kommunikation zwischen Knoten, um enge Kopplung zu vermeiden
  • Trennen Sie Daten in Resources (erweitert Resource) und behalten Sie Logik in Nodes
  • Verwenden Sie statische Typisierung für alle Variablen und Funktionsparameter für bessere Leistung
  • Deaktivieren Sie die Verarbeitung von Knoten, wenn sie nicht benötigt wird (set_process, set_physics_process)

Vermeiden

  • Rufen Sie nicht get_node() oder $-Notation in _process()- oder _physics_process()-Schleifen auf
  • Speichern Sie keine direkten Knotenreferenzen über Szenen hinweg - verwenden Sie Signale oder Autoloads
  • Platzieren Sie keine Spiellogik in Resource-Skripten - behalten Sie sie als Datencontainer
  • Erstellen Sie keine neuen Objekte in heißen Codepfaden - verwenden Sie stattdessen Object-Pooling
  • Verwenden Sie keine Stringnamen für Signale, wenn Sie Callable mit Typsicherheit verwenden können

Häufig gestellte Fragen

Welche Godot-Version unterstützt dieses Skill?
Dieses Skill unterstützt nur Godot 4.x. Die GDScript-Syntax und APIs unterscheiden sich erheblich von Godot 3.x, sodass die Muster in früheren Versionen möglicherweise nicht funktionieren.
Kann ich diese Muster für 3D-Spiele verwenden?
Die meisten Muster gelten sowohl für 2D als auch für 3D. Zustandsautomaten, Komponenten, Object-Pooling und Speichersysteme funktionieren identisch. Nur bestimmte Knotentypen (wie Area2D) müssen durch ihre 3D-Entsprechungen (Area3D) ersetzt werden.
Wie ersetze ich den Platzhalter-Verschlüsselungsschlüssel?
Generieren Sie eine kryptografisch sichere Zeichenfolge und ersetzen Sie 'your_secret_key_here' in der Konstante ENCRYPTION_KEY. Verwenden Sie eine Schlüsselableitungsfunktion, wenn Sie sie aus einem Benutzerpasswort ableiten müssen. Committen Sie niemals echte Schlüssel in die Versionsverwaltung.
Sollte ich Autoloads für alle globalen Daten verwenden?
Nein, verwenden Sie Autoloads sparsam. Verwenden Sie sie nur für wirklich globale Systeme wie Spielmanager, Event-Busse oder Szenenmanager. F��r die meisten Daten bevorzugen Sie Resources oder Dependency Injection durch Signale.
Warum komponentenbasierte Architektur statt Vererbung verwenden?
Komponenten ermöglichen es Ihnen, Funktionalität wie Gesundheit, Bewegung und Kampfsysteme über verschiedene Charaktere zu kombinieren, ohne tiefe Vererbungshierarchien. Sie machen Code wiederverwendbarer und einfacher zu warten.
Wann sollte ich Object-Pooling verwenden?
Verwenden Sie Object-Pooling für Objekte, die häufig und schnell spawnen (Projektile, Partikel, Gegner). Pooling reduziert Garbage-Collection-Spitzen und verbessert die Leistung. Für Objekte, die selten spawnen (wie Power-Ups), ist Pooling normalerweise nicht notwendig.