Compresión y estiramiento
Parte de la sección Sensación de juego del Journey de Godot de Coddy. Lección 18 de 23.
Los dibujos animados aplastan a un personaje cuando recibe un golpe y luego dejan que recupere su forma. Esto hace que el golpe parezca más contundente.
Un aplastamiento es una interpolación con dos pasos sobre scale. El primero hace que el robot sea más ancho y achatado. El segundo lo devuelve a Vector2(1, 1) con Tween.TRANS_ELASTIC, que hace que supere el tamaño normal y se tambalee antes de estabilizarse.
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)Esta es una segunda interpolación, junto a la interpolación del destello. Dos interpolaciones pueden ejecutarse simultáneamente cuando modifican propiedades distintas.
Desafío
FácilAplasta al robot cuando reciba un golpe.
- Después del destello en
hit(), crea un segundo tween llamadowobble. - Anima
scalehastaVector2(1.4, 0.6)en0.08segundos. - Después, anímalo de vuelta a
Vector2(1, 1)en0.5segundos conTween.TRANS_ELASTICyTween.EASE_OUT.
Pulsa «Jugar» y pulsa E: el robot se aplasta y vuelve a su forma. Después, pulsa «Comprobar».
Pruébalo tú mismo
extends Node2D
func hit():
modulate = Color(4, 4, 4)
var tween = create_tween()
tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)
Todas las lecciones de Sensación de juego
1Interpolaciones
Tu primera interpolaciónInterpola cualquier propiedadDesvanecerSalida suaveUna tras otraAl mismo tiempoUna moneda que salta4Destellos y retroalimentación
Destello al recibir un golpePausa al recibir un golpeCompresión y estiramientoNúmeros flotantesPractica por tu cuenta: Playground de Godot