Menu
CoddyTech

Attraversa il dungeon

Fa parte della sezione Progetti del percorso Godot di Coddy. Lezione 29 di 36.

L'ultimo progetto è un dungeon crawler, visto dall'alto. L'eroe prende una chiave, apre una porta, supera una guardia e raggiunge le scale.

Gli script sono hero.gd, enemy.gd e main.gd. Le pareti sono un StaticBody2D chiamato Walls, già presente nella scena.

L'eroe cammina in quattro direzioni. Input.get_vector legge tutti e quattro i tasti e restituisce una direzione di lunghezza 1, quindi le diagonali non sono più veloci. move_and_slide() sposta il corpo usando la sua velocity e lo fa scivolare lungo le pareti:

velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
move_and_slide()

move_and_slide usa direttamente delta, quindi non devi moltiplicare per esso.

challenge icon

Sfida

Facile

Guida l'eroe attraverso il dungeon.

  1. In hero.gd, aggiungi const SPEED = 160.
  2. A ogni frame fisico, imposta velocity sul risultato di Input.get_vector con le quattro azioni di movimento moltiplicato per SPEED, poi chiama move_and_slide().

Premi «Gioca» e cammina: le pareti fermano l'eroe. Poi premi «Verifica».

Provalo tu

extends CharacterBody2D

func _physics_process(delta):
	pass

Tutte le lezioni di Progetti

Esercitati da solo: Playground Godot