Solo desde el suelo
Parte de la sección Entrada y movimiento del Journey de Godot de Coddy. Lección 14 de 28.
El héroe de la lección anterior puede volver a saltar en el aire tantas veces como quieras. Solo debería saltar cuando esté sobre algo.
is_on_floor() es true cuando el último move_and_slide() dejó el cuerpo sobre un suelo. En el aire es false.
and une dos condiciones. El if se ejecuta solo cuando ambas son verdaderas:
if Input.is_action_just_pressed("jump") and is_on_floor():
velocity.y = jump_velocityDesafío
FácilHaz que el héroe salte solo mientras esté en el suelo. Pulsar salto en el aire no debería hacer nada.
Pruébalo tú mismo
extends CharacterBody2D
var gravity = 1000
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()
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