Cheatsheet
Een snelle referentie voor alles wat je nodig hebt in Godot en GDScript.
Coördinatensysteem
Hoe werkt het coördinatensysteem in Godot?
| Richting | As | Waarde |
|---|---|---|
| Rechts | X | Wordt groter (+) |
| Links | X | Wordt kleiner (-) |
| Omlaag | Y | Wordt groter (+) |
| Omhoog | Y | Wordt kleiner (-) |
Let op: Het punt (0, 0) zit in de linkerbovenhoek van het scherm. Daarom is de jump velocity negatief!
Script structuur
Hoe ziet een GDScript bestand eruit?
extends CharacterBody2D
# 1. Constanten
const SPEED = 300.0
const JUMP_VELOCITY = -800.0
# 2. Variabelen
var op_de_grond
var staat_stil
# 3. Functies
func _physics_process(delta: float) -> void:
# Jouw code hier
move_and_slide()
Variabelen & constanten
Hoe maak ik variabelen en constanten aan?
var score # Variabele zonder type
var richting := 0.0 # Type wordt automatisch bepaald (:=)
const SPEED = 300.0 # Constante (verandert nooit, HOOFDLETTERS)
Input
Hoe lees ik toetsenbord-input?
| Code | Wat doet het? |
|---|---|
Input.is_action_just_pressed("ui_accept") | true op het moment dat je de toets indrukt (eenmalig) |
Input.is_action_pressed("ui_accept") | true zolang je de toets ingedrukt houdt |
Input.get_axis("ui_left", "ui_right") | Geeft -1 (links), 0 (niks) of 1 (rechts) |
Beweging
Volledig movement script
extends CharacterBody2D
const SPEED = 300.0
const JUMP_VELOCITY = -800.0
func _physics_process(delta: float) -> void:
# Zwaartekracht toepassen
if not is_on_floor():
velocity += get_gravity() * delta
# Springen (alleen als je op de grond staat)
if Input.is_action_just_pressed("ui_accept") and is_on_floor():
velocity.y = JUMP_VELOCITY
# Links/rechts bewegen
var direction := Input.get_axis("ui_left", "ui_right")
if direction:
velocity.x = direction * SPEED
else:
velocity.x = move_toward(velocity.x, 0, SPEED)
move_and_slide()
Velocity waarden
Welke velocity hoort bij welke situatie?
| Situatie | velocity |
|---|---|
| Stilstaan | (0, 0) |
| Naar rechts | (300, 0) |
| Naar links | (-300, 0) |
| Vallen | (0, positief getal) |
| Springen | (0, negatief getal) |
Handige functies
Welke functies gebruik ik het meest?
| Functie | Uitleg |
|---|---|
move_and_slide() | Past velocity toe en handelt botsingen af. Altijd aan het einde aanroepen! |
is_on_floor() | Geeft true als het karakter de grond raakt |
get_gravity() | Geeft de zwaartekracht-vector terug |
move_toward(huidige, doel, stap) | Beweegt een waarde richting het doel (handig voor afremmen) |
print(waarde) | Print een waarde naar de console (handig voor debuggen) |
Animaties
Hoe speel ik animaties af?
# Animatie afspelen
$Sprite2D.play('Idle')
$Sprite2D.play('Run')
$Sprite2D.play('Jump')
# Sprite spiegelen (links/rechts kijken)
$Sprite2D.flip_h = false # Kijkt naar rechts
$Sprite2D.flip_h = true # Kijkt naar links
Hoe kies ik animaties op basis van beweging?
# Stilstaan
if velocity.x == 0:
$Sprite2D.play('Idle')
# In de lucht
if not is_on_floor():
$Sprite2D.play('Jump')
# Naar rechts bewegen
if velocity.x > 0:
$Sprite2D.play('Run')
$Sprite2D.flip_h = false
# Naar links bewegen
if velocity.x < 0:
$Sprite2D.play('Run')
$Sprite2D.flip_h = true
Nodes openen in code
Hoe gebruik ik het $-teken?
$Sprite2D # Toegang tot een child-node ($ is een snelkoppeling)
$Sprite2D.play() # Een functie aanroepen op een child-node
$Sprite2D.flip_h # Een eigenschap van een child-node lezen/aanpassen
Vergelijkingen & logica
Welke vergelijkingen kan ik gebruiken?
if velocity.x == 0: # Is gelijk aan
if velocity.x > 0: # Groter dan
if velocity.x < 0: # Kleiner dan
if not is_on_floor(): # NIET (draait true/false om)
if conditie:
# doe iets
else:
# doe iets anders
Resources (bestanden toevoegen)
Hoe voeg ik afbeeldingen toe aan mijn project (res://)?
- Klik linksonder in Godot met de rechtermuisknop op
res:// - Kies daarna
Opening in bestandsbeheer

Er opent zich een map in je Windows Verkenner. Als je afbeeldingen wilt toevoegen aan je project, kopieer ze dan naar deze map. Wanneer je teruggaat naar Godot, zul je zien dat Godot even moet nadenken en daarna zijn je afbeeldingen te gebruiken in je project.