Correr y saltar
Parte de la sección Entrada y movimiento del Journey de Godot de Coddy. Lección 15 de 28.
El movimiento solo cambia velocity.x. La gravedad y el salto solo cambian velocity.y. Así que separa las dos componentes:
velocity.x = Input.get_axis("move_left", "move_right") * speedNo establezcas toda la velocidad, así:
velocity = Vector2(Input.get_axis("move_left", "move_right") * speed, 0)Esa línea establece velocity.y en 0 en cada fotograma. Borra la velocidad de caída y el salto, así que el héroe flota.
Desafío
FácilHaz que el héroe corra mientras cae y salta.
- Antes de
move_and_slide(), asigna avelocity.xel resultado de multiplicarInput.get_axis("move_left", "move_right")porspeed. - Deja que la gravedad y el salto controlen
velocity.y.
Pulsa «Jugar»: el héroe corre a 220 píxeles por segundo y puede saltar hacia arriba y a la derecha. Después, pulsa «Comprobar».
Pruébalo tú mismo
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
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