gdscript:cheatsheet

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
gdscript:cheatsheet [2025/10/14 20:33] silversurfergdscript:cheatsheet [2025/10/14 20:51] (aktuell) – [Fehlerbehandlung & Debug] silversurfer
Zeile 99: Zeile 99:
 ===== Kontrollstrukturen ===== ===== Kontrollstrukturen =====
  
-if/elif/else: +==== if/elif/else ==== 
-  if x > 0: +<codedoc code:python>if x > 0: 
-      pass +   # die Zahl ist größer Null 
-- match (Godot 4 / GDScript 2.0)+   pass 
-  - match value: +elif x < 0: 
-      1: +   # die Zahl ist kleiner Null 
-        ... +   pass 
-      _+else
-        ... +   # die Zahl ist Null 
-- for/while: +   pass</codedoc>
-  - for i in range(5): ... +
-  - while cond: ...+
  
-Fehlerbehandlung & Debug +==== match (Godot 4 / GDScript 2.0): ==== 
-- print(), push_error(), push_warning() +<codedoc code:python>match value: 
-- assert(condition, "message")+   1: 
 +      ... 
 +   _: 
 +      ...</codedoc> 
 +       
 +==== for/while: ==== 
 +<codedoc code:python>for i in range(5):  
 +   ...
  
-Best Practices (Kurz) +while cond:  
-- Typisieren wo möglich (besseres Autocomplete & Fehlercheck) +   ...</codedoc>
-- Export für Editor-Bearbeitbarkeit +
-- onready für Knoten-Referenzen +
-- Verwende preload für häufig genutzte Ressourcen +
-- Trenne Gameplay-Logik in übersichtliche Methoden +
-- Nutze Signals statt eng gekoppelter Node-Referenzen (lockere Kopplung)+
  
-Nützliche One-Liner +===== Fehlerbehandlung & Debug ===== 
-- Position setzen (Node2D)+   * print(), push_error()push_warning(
-  - position = Vector2(100200+   * assert(condition, "message"[[https://docs.godotengine.org/de/4.5/tutorials/scripting/gdscript/gdscript_basics.html#assert-keyword|Online-Doku]] 
-- Bewegung: +   * 
-  - velocity = velocity.move_toward(targetspeed * delta) +
-- Prüfen ob in Gruppe: +
-  - if is_in_group("enemies"): ... +
-Connect per Code: +
-  - some_node.connect("signal", self, "_method")+
  
-Kurze Beispiele+===== Best Practices (Kurz) ===== 
 +  * Typisieren wo möglich (besseres Autocomplete & Fehlercheck) 
 +  * Export für Editor-Bearbeitbarkeit 
 +  * onready für Knoten-Referenzen 
 +  * Verwende preload für häufig genutzte Ressourcen 
 +  * Trenne Gameplay-Logik in übersichtliche Methoden 
 +  * Nutze Signals statt eng gekoppelter Node-Referenzen (lockere Kopplung)
  
-Player (Grundgerüst) +==== Nützliche One-Liner====   
-```gdscript +=== Position setzen (Node2D) === 
-extends CharacterBody2D +<codedoc code:python> position = Vector2(100, 200)</codedoc> 
-class_name Player+=== Bewegung === 
 +<codedoc code:python>velocity = velocity.move_toward(target, speed * delta)</codedoc> 
 +=== Prüfen ob in Gruppe === 
 +<codedoc code:python>if is_in_group("enemies"):  
 +   ...</codedoc> 
 +=== Connect per Code: === 
 +<codedoc code:python>some_node.connect("signal", self, "_method")</codedoc> 
 + 
 +===== Kurze Beispiele ===== 
 +==== Player (Grundgerüst) ==== 
 +<codedoc code:python>extends CharacterBody2D class_name Player
  
 export var speed: float = 200.0 export var speed: float = 200.0
Zeile 149: Zeile 160:
     if Input.is_action_pressed("ui_left"): dir.x -= 1     if Input.is_action_pressed("ui_left"): dir.x -= 1
     velocity.x = dir.x * speed     velocity.x = dir.x * speed
-    move_and_slide()+    move_and_slide()</codedoc>
  • gdscript/cheatsheet.1760466817.txt.gz
  • Zuletzt geändert: 2025/10/14 20:33
  • von silversurfer