Solo dal pavimento
Fa parte della sezione Input e movimento del percorso Godot di Coddy. Lezione 14 di 28.
L'eroe della lezione precedente può saltare di nuovo in aria, tutte le volte che vuoi. Dovrebbe saltare solo quando si trova su qualcosa.
is_on_floor() è true quando l'ultimo move_and_slide() ha lasciato il corpo su un pavimento. In aria è false.
and unisce due condizioni. L'if viene eseguito solo quando entrambe sono vere:
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocitySfida
FacileFai in modo che l’eroe salti solo da terra.
- Aggiungi una seconda condizione all’
ifdel salto conand. - Imposta la condizione su
is_on_floor().
Premi «Gioca» e premi due volte la barra spaziatrice: la seconda pressione, mentre sei in aria, non fa nulla. Poi premi «Verifica».
Provalo tu
extends CharacterBody2D
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump"):
velocity.y = jump_velocity
move_and_slide()
Tutte le lezioni di Input e movimento
3Gravità e salti
Cadere con la gravitàSaltare in altoSolo dal pavimentoCorrere e saltareSalto variabileDoppio saltoEsercitati da solo: Playground Godot