Saltar hacia arriba
Parte de la sección Entrada y movimiento del Journey de Godot de Coddy. Lección 13 de 28.
Para saltar, asigna a velocity.y una velocidad ascendente alta en el fotograma en que el jugador presiona jump. Hacia arriba significa un valor menor de y, así que el número es negativo:
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()No programes el descenso. La gravedad sigue sumándose a velocity.y, así que el héroe reduce su velocidad mientras asciende, se detiene en la cima y vuelve a caer.
Usa is_action_just_pressed, no is_action_pressed. Si mantuvieras presionada una tecla, la velocidad se establecería en -500 en cada fotograma y el héroe saldría de la pantalla.
Desafío
FácilCuando pulses jump, establece velocity.y en jump_velocity. El héroe debe saltar y volver a aterrizar en el suelo. Mantener pulsada la tecla no debe hacer que salga volando.
Pruébalo tú mismo
extends CharacterBody2D
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
move_and_slide()
Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Entrada y movimiento
2CharacterBody2D
CharacterBody2DCamina con velocidadLas paredes te detienenCamina por todas partesDiagonales equilibradas5Proyecto: Héroe de plataformas
Héroe: correrHéroe: saltar3Gravedad y saltos
Caer con la gravedadSaltar hacia arribaSolo desde el sueloCorrer y saltarSalto variableDoble saltoPractica por tu cuenta: Playground de Godot