Zum Inhalt

Spickzettel

Die wenigsten kennen alle Sprachstrukturen und Funktionen von GDScript auswendig. Viel mehr baut man sich durch stetige Wiederholung seinen "Programmiersprachwortschatz" nach und nach auf. In der Zwischenzeit machen sich Spickzettel (englisch Cheatsheet) ganz gut - so wie in der Schule. (Das Wort "Cheat" heißt übersetzt so viel wie Betrug/Schwindel und das kommt auch an anderer Stelle in Spielen vor.)

Cheatsheet

Erstelle dir selbst einen Spickzettel für die aus deiner Sicht wichtigsten Codestrukturen und Funktionen. Diese kannst du auf ein Blatt Papier schreiben, welches du bei jedem Projekt bereitlegst, damit du schnell mal einen Befehl oder ähnliches nachschauen kannst.

Kommentare

# Kommentar

Variablen

var zahl = 5
var zeichenkette = "Hello"
var feld = [1, 2, 3]
var woerterbuch = {"key": "value", 2: 3}
var vektor2d = Vector2(1, 2)
var vektor3d = Vector3(1, 2, 3)
const KONSTANTE = 3.14
enum Kategorie {EINS, ZWEI, DREI}

Annotationen

@onready
@export
@export_range(0, 100, 1, "or_greater", "or_lesser")
@export_group("My Properties")

Funktionen

# Funktionsdeklaration
func summenfunktion(wert1, wert2):
    return wert1 + wert2

# Funktionsaufruf
var ergebnis = summenfunktion(1,2)

Strukturen

if a > b:
    ...
elif a < b:
    ...
else:
    ...

match s:
    "A":
        ...
    "B":
        ...
    "C"":
        ...

Schleifen

while a > b:
    ...

for buchstabe in ["A", "B", "C"]:
    ... # A, B, C

for i in range(5):
    ... # 0, 1, 2, 3, 4

for i in range(1, 6):
    ... # 1, 2, 3, 4, 5

for i in range(2, 12, 2):
    ... # 2, 4, 6, 8, 10

Operatoren

+ - * / %
< > == != >= <=
!irgendwas
not irgendwas
etwas and noch_etwas 
etwas or etwas_anderes
is
in
as

Typen

null
bool
int
float
String
Vector2
Vector3
Array
Dictionary
Color
NodePath

Signale

# Im Skript dings.gd
signal getroffen(womit, wie_doll)

# In einer Szene mit einem Dings mit dem Namen Dingsdabums 
func _ready():
    var dingsdabums = get_node('Dingsdabums')
    dingsdabums.connect("getroffen", self, "_wenn_dings_getroffen")

func _wenn_dings_getroffen(womit, wie_doll):
    print("Wer war das: ", womit)
    print("Wie sehr tut es weh: ", wie_doll)

Allgemein

pass
print

Szenenbaum

get_tree().paused = true
get_tree().reload_current_scene()
get_tree().change_scene_to_file("res://levels/level2.tscn")

Nodes/Szenen

preload
load
get_tree().get_root()
get_node("Szene/Dingsdabums")
$Dingsdabums
self

var Dings = load("res://dings.tscn")
var dingsdabums = Dings.instantiate()
get_parent().add_child(dingsdabums)

Mainloop/Notifications

_init()
_enter_tree()
_ready()
_exit_tree()

_process(delta)
_physics_process(delta)

_input(event)
_unhandled_input(event)

_draw()

Spezialzeug

@tool

Weitere Hilfen

Themen-Cheatsheets

Zum schnellen Nachschlagen