Menu
CoddyTech

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.

challenge icon

Desafio

Fácil

Esmague o robô quando ele for atingido.

  1. Depois do clarão em hit(), crie um segundo tween chamado wobble.
  2. Anime scale até Vector2(1.4, 0.6) em 0.08 segundos.
  3. Depois, anime-o de volta até Vector2(1, 1) em 0.5 segundos com Tween.TRANS_ELASTIC e Tween.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