Doppio salto
Fa parte della sezione Input e movimento del percorso Godot di Coddy. Lezione 17 di 28.
Il doppio salto permette all’eroe di saltare ancora una volta in aria. is_on_floor() non può consentirlo, quindi l’eroe conta i propri salti.
Conserva il conteggio in una variabile. Impostalo a 2 quando l’eroe è a terra e sottrai uno per ogni salto:
var jumps_left = 0
func _physics_process(delta):
velocity.y += gravity * delta
if is_on_floor():
jumps_left = 2
if Input.is_action_just_pressed("jump") and jumps_left > 0:
velocity.y = jump_velocity
jumps_left -= 1Il primo salto porta jumps_left a 1 e il salto in aria lo porta a 0. Una terza pressione non fa nulla. Quando atterra, il valore torna a 2.
Sfida
MedioFai fare un doppio salto all’eroe. Può saltare due volte prima di atterrare, mai tre. Conta i salti in una variabile jumps_left impostata a 2 quando è a terra.
Provalo tu
extends CharacterBody2D
var speed = 220
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocity
if Input.is_action_just_released("jump") and velocity.y < 0:
velocity.y = velocity.y / 2
velocity.x = Input.get_axis("move_left", "move_right") * speed
move_and_slide()
Questa lezione include un breve quiz. Inizia la lezione per rispondere e tenere traccia dei tuoi progressi.
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