Menu
CoddyTech

Compression et étirement

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

Dans les dessins animés, un personnage s’écrase quand il est touché, puis reprend sa forme. Cela donne du poids à l’impact.

Un écrasement est une interpolation avec deux étapes sur scale. La première rend le robot plus large et plus aplati. La seconde le fait reprendre sa forme jusqu’à Vector2(1, 1) avec Tween.TRANS_ELASTIC, qui dépasse la taille normale et oscille avant de se stabiliser.

var wobble = create_tween()
wobble.tween_property(self, "scale", Vector2(1.4, 0.6), 0.08)
wobble.tween_property(self, "scale", Vector2(1, 1), 0.5).set_trans(Tween.TRANS_ELASTIC).set_ease(Tween.EASE_OUT)

Il s’agit d’une deuxième interpolation, à côté de l’interpolation du flash. Deux interpolations peuvent s’exécuter en parallèle lorsqu’elles modifient des propriétés différentes.

challenge icon

Défi

Facile

Aplatis le robot lorsqu’il est touché.

  1. Après le flash dans hit(), crée une deuxième interpolation appelée wobble.
  2. Fais passer scale à Vector2(1.4, 0.6) en 0.08 seconde.
  3. Puis ramène-la à Vector2(1, 1) en 0.5 seconde avec Tween.TRANS_ELASTIC et Tween.EASE_OUT.

Appuie sur « Jouer », puis sur E : le robot s’aplatit et reprend sa forme. Puis clique 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