Saltar hacia arriba
Parte de la sección Entrada y movimiento del Journey de Godot de Coddy. Lección 13 de 28.
Para saltar, establece velocity.y en una velocidad ascendente alta en el fotograma en que el jugador pulsa jump. Hacia arriba corresponde a 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 programas el descenso. La gravedad sigue sumándose a velocity.y, así que el héroe se ralentiza mientras asciende, se detiene en la cima y vuelve a caer.
Usa is_action_just_pressed, no is_action_pressed. Si mantuvieras pulsada una tecla, la velocidad se establecería en -500 en cada fotograma y el héroe saldría volando de la pantalla.
Desafío
FácilHaz que el héroe salte.
- Entre la línea de gravedad y
move_and_slide(), agrega unifparaInput.is_action_just_pressed("jump"). - Dentro de él, establece
velocity.yenjump_velocity.
Presiona «Jugar» y la barra espaciadora: el héroe salta y vuelve a aterrizar, y mantener presionada la barra espaciadora no hace que salga volando. Después, «Comprobar».
Pruébalo tú mismo
extends CharacterBody2D
var gravity = 1000
var jump_velocity = -500
func _physics_process(delta):
velocity.y += gravity * delta
move_and_slide()
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