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 lorsqu’il est touché, puis reprend sa forme. Le coup paraît ainsi plus lourd.
Un écrasement est une interpolation en 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)C’est une deuxième interpolation, à côté de celle du flash. Deux interpolations peuvent s’exécuter en parallèle lorsqu’elles modifient des propriétés différentes.
Défi
FacileAprès le flash dans hit(), créez un deuxième tween appelé wobble :
- animez
scalejusqu’àVector2(1.4, 0.6)en 0.08 seconde, - puis animez-le à nouveau jusqu’à
Vector2(1, 1)en 0.5 seconde avecTween.TRANS_ELASTICetTween.EASE_OUT.
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)
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Sensations de jeu
1Interpolations
Votre première interpolationInterpoler n’importe quelle propriétéDisparition progressiveDécélérationL’un après l’autreEn même tempsUne pièce qui jaillit4Flashs et retours visuels
Flash lors d’un impactGel à l’impactCompression et étirementNombres flottantsEntraînez-vous par vous-même : Playground Godot