Salto variabile
Fa parte della sezione Input e movimento del percorso Godot di Coddy. Lezione 16 di 28.
Nella maggior parte dei platform, premere brevemente un pulsante provoca un piccolo salto, mentre tenerlo premuto provoca un salto completo.
Per farlo, interrompi il salto quando il pulsante viene rilasciato. Input.is_action_just_released("jump") è true nel singolo fotogramma in cui il tasto viene rilasciato. Se in quel momento l’eroe sta ancora salendo, dimezza la sua velocità verso l’alto:
if Input.is_action_just_released("jump") and velocity.y < 0:
velocity.y = velocity.y / 2velocity.y < 0 significa che l’eroe sta ancora salendo. Senza questa condizione, rilasciare il tasto durante la discesa rallenterebbe la caduta.
Tieni premuto il tasto fino a dopo il punto più alto del salto e il salto non verrà interrotto.
Sfida
MedioFai in modo che un breve tocco di salto produca un piccolo balzo.
- Dopo l’
ifdel salto, aggiungi unifperInput.is_action_just_released("jump")evelocity.y < 0. - Al suo interno, dimezza
velocity.y.
Premi «Gioca»: un tocco rapido della barra spaziatrice produce un balzo, mentre tenerla premuta esegue il salto completo. Poi premi «Verifica».
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
velocity.x = Input.get_axis("move_left", "move_right") * speed
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