Menu
CoddyTech

Salto variable

Parte de la sección Entrada y movimiento del Journey de Godot de Coddy. Lección 16 de 28.

En la mayoría de los juegos de plataformas, una pulsación breve produce un pequeño salto y mantener el botón pulsado produce un salto completo.

Para hacerlo, recorta el salto cuando se suelte el botón. Input.is_action_just_released("jump") es true durante el único fotograma en que se suelta la tecla. Si el personaje todavía está subiendo en ese momento, reduce a la mitad su velocidad ascendente:

if Input.is_action_just_released("jump") and velocity.y < 0:
	velocity.y = velocity.y / 2

velocity.y < 0 significa que el personaje todavía está subiendo. Sin esta condición, soltar la tecla durante el descenso ralentizaría la caída.

Mantén la tecla pulsada hasta después del punto más alto del salto y no se recortará.

challenge icon

Desafío

Intermedio

Haz que un toque breve de jump produzca un pequeño salto. Cuando se suelte la tecla mientras el héroe aún está subiendo, divide velocity.y por la mitad. Si mantienes pulsada la tecla, el salto seguirá siendo completo.

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
	velocity.x = Input.get_axis("move_left", "move_right") * speed
	move_and_slide()
quiz iconPonte a prueba

Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.

Todas las lecciones de Entrada y movimiento

Practica por tu cuenta: Playground de Godot