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 la última llamada a move_and_slide() dejó el cuerpo en el 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 solo salte desde el suelo.
- Añade una segunda condición al
ifdel salto conand. - Usa
is_on_floor().
Pulsa «Jugar» y pulsa Espacio dos veces: la segunda pulsación, en el aire, no hace nada. Después, pulsa «Comprobar».
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()
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