Menu
CoddyTech

Gel à l’impact

Fait partie de la section Sensations de jeu du Journey Godot de Coddy. Leçon 17 sur 23.

Un arrêt sur impact suspend le jeu pendant une fraction de seconde lorsqu'un coup porte. Cela donne plus de force à l'impact.

Engine.time_scale correspond à la vitesse de l'horloge du jeu. À 1, le jeu tourne normalement. À 0.05, les déplacements, les interpolations et les minuteries tournent vingt fois plus lentement.

Engine.time_scale = 0.05
await get_tree().create_timer(0.1, true, false, true).timeout
Engine.time_scale = 1.0

Une minuterie normale fonctionne selon l'horloge ralentie : 0.1 seconde durerait donc deux secondes réelles. Le dernier true dans create_timer fait que la minuterie ignore time_scale et compte les secondes réelles. Les deux valeurs précédentes sont les valeurs par défaut habituelles.

Rétablis toujours time_scale à 1. Cela affecte tout le jeu et reste ainsi jusqu'à ce que ton code le modifie.

challenge icon

Défi

Moyen

Fige le jeu un instant lorsqu’un coup est porté.

  1. Après le flash dans hit(), définis Engine.time_scale sur 0.05.
  2. Attends 0.1 seconde réelle avec un minuteur qui ignore l’échelle de temps, comme indiqué ci-dessus.
  3. Rétablis Engine.time_scale à 1.0.

Appuie sur « Jouer », puis sur E : le drone s’arrête un instant. Ensuite, appuie sur « Vérifier ».

Essayez vous-même

extends Node2D

func hit():
	modulate = Color(4, 4, 4)
	var tween = create_tween()
	tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)

Toutes les leçons de Sensations de jeu

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