Esmagar e Esticar
Parte da seção Sensação de jogo do Journey de Godot da Coddy. Lição 18 de 23.
Nos desenhos animados, um personagem se achata quando é atingido e depois volta ao normal. Isso faz com que o impacto pareça mais forte.
Um efeito de achatamento é um tween com duas etapas em scale. A primeira deixa o robô mais largo e achatado. A segunda faz com que ele volte a Vector2(1, 1) com Tween.TRANS_ELASTIC, que ultrapassa o tamanho normal e oscila antes de se estabilizar.
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)Este é um segundo tween, junto do tween de clarão. Dois tweens podem ser executados lado a lado quando alteram propriedades diferentes.
Desafio
FácilEsmague o robô quando ele for atingido.
- Depois do clarão em
hit(), crie um segundo tween chamadowobble. - Anime
scaleatéVector2(1.4, 0.6)em0.08segundos. - Depois, anime-o de volta até
Vector2(1, 1)em0.5segundos comTween.TRANS_ELASTICeTween.EASE_OUT.
Pressione “Jogar” e pressione E: o robô se achata e volta à forma original. Depois, clique em “Verificar”.
Experimente você mesmo
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 as lições de Sensação de jogo
Pratique por conta própria: Playground de Godot