Menu
CoddyTech

Ściśnięcie i rozciągnięcie

Część sekcji Dopracowanie rozgrywki ścieżki Godot w Coddy. Lekcja 18 z 23.

W kreskówkach postać się zgniata, gdy zostaje trafiona, a potem sprężyście wraca do poprzedniego kształtu. Dzięki temu trafienie wygląda na mocne.

Zgniatanie to tween składający się z dwóch kroków dotyczących scale. W pierwszym robot staje się szerszy i bardziej płaski. W drugim sprężyście wraca do Vector2(1, 1) z użyciem Tween.TRANS_ELASTIC, który przekracza normalny rozmiar i kołysze się, zanim się ustabilizuje.

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)

To drugi tween, obok tweena błysku. Dwa tweens mogą działać równolegle, gdy zmieniają różne właściwości.

challenge icon

Wyzwanie

Łatwy

Spłaszcz robota, gdy zostanie trafiony.

  1. Po błysku w hit() utwórz drugą animację tween o nazwie wobble.
  2. Animuj scale do wartości Vector2(1.4, 0.6) przez 0.08 sekundy.
  3. Następnie animuj ją z powrotem do wartości Vector2(1, 1) przez 0.5 sekundy, używając Tween.TRANS_ELASTIC i Tween.EASE_OUT.

Naciśnij „Graj” i naciśnij E: robot się spłaszczy, a potem sprężyście wróci do poprzedniego kształtu. Następnie naciśnij „Sprawdź”.

Spróbuj swoich sił

extends Node2D

func hit():
	modulate = Color(4, 4, 4)
	var tween = create_tween()
	tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)

Wszystkie lekcje w sekcji Dopracowanie rozgrywki

Poćwicz samodzielnie: Edytor online Godot