Menu
CoddyTech

Saut variable

Fait partie de la section Entrées et déplacements du Journey Godot de Coddy. Leçon 16 sur 28.

Dans la plupart des jeux de plateforme, une pression brève déclenche un petit bond, tandis qu’un bouton maintenu déclenche un saut complet.

Pour cela, interromps le saut lorsque le bouton est relâché. Input.is_action_just_released("jump") est vrai pendant l’unique image où la touche est relâchée. Si le héros est encore en train de monter à ce moment-là, réduis de moitié sa vitesse ascendante :

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

velocity.y < 0 signifie que le héros est encore en train de monter. Sans cette condition, un relâchement pendant la descente ralentirait la chute.

Maintiens la touche enfoncée jusqu’à ce que le saut ait atteint son sommet, et rien ne sera interrompu.

challenge icon

Défi

Moyen

Appuyez brièvement sur jump pour effectuer un petit bond. Lorsque la touche est relâchée alors que le héros est encore en train de monter, divisez velocity.y par deux. Maintenir la touche enfoncée permet toujours d'effectuer le saut complet.

Essayez vous-même

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 iconTestez-vous

Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.

Toutes les leçons de Entrées et déplacements

Entraînez-vous par vous-même : Playground Godot