Menu
CoddyTech
flag Ru iconРусскийdown icon

Сжатие и растяжение

Часть раздела Ощущения от игры путешествия по Godot на Coddy. Урок 18 из 23.

В мультфильмах персонаж сжимается при ударе, а затем пружинит обратно. Так удар выглядит более сильным.

Сжатие — это анимация с двумя этапами изменения scale. На первом робот становится шире и ниже. На втором он пружинит обратно до Vector2(1, 1) с помощью Tween.TRANS_ELASTIC, который увеличивает размер сверх обычного, и тот колеблется, прежде чем стабилизироваться.

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)

Это вторая анимация, которая выполняется рядом с анимацией вспышки. Две анимации могут выполняться параллельно, если они изменяют разные свойства.

challenge icon

Задание

Легко

После вспышки в hit() создайте второй твен с именем wobble:

  1. измените scale на Vector2(1.4, 0.6) за 0.08 секунды,
  2. затем верните его к Vector2(1, 1) за 0.5 секунды с помощью Tween.TRANS_ELASTIC и Tween.EASE_OUT.

Попробуйте сами

extends Node2D

func hit():
	modulate = Color(4, 4, 4)
	var tween = create_tween()
	tween.tween_property(self, "modulate", Color(1, 1, 1), 0.3)
quiz iconПроверьте себя

В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.

Все уроки раздела Ощущения от игры

Потренируйтесь самостоятельно: Песочница Godot