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.
Défi
FacileAplatis le robot lorsqu’il est touché.
- Après le flash dans
hit(), crée une deuxième interpolation appeléewobble. - Fais passer
scaleàVector2(1.4, 0.6)en0.08seconde. - Puis ramène-la à
Vector2(1, 1)en0.5seconde avecTween.TRANS_ELASTICetTween.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
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