Menu
CoddyTech

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_velocity
challenge icon

Desafío

Fácil

Haz que el héroe solo salte desde el suelo.

  1. Añade una segunda condición al if del salto con and.
  2. 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

Practica por tu cuenta: Playground de Godot