Сжатие и растяжение
Часть раздела Ощущения от игры путешествия по 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)Это вторая анимация, которая выполняется рядом с анимацией вспышки. Две анимации могут выполняться параллельно, если они изменяют разные свойства.
Задание
ЛегкоПосле вспышки в hit() создайте второй твен с именем wobble:
- измените
scaleнаVector2(1.4, 0.6)за 0.08 секунды, - затем верните его к
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)
В этом уроке есть небольшой тест. Начните урок, чтобы ответить на вопросы и сохранить прогресс.
Все уроки раздела Ощущения от игры
1Твины
Ваш первый твинАнимируйте любое свойствоЗатуханиеПлавное замедлениеОдин за другимОдновременноМонетка, которая подпрыгивает4Вспышки и обратная связь
Вспышка при попаданииЗаморозка при попаданииСжатие и растяжениеВсплывающие числаПотренируйтесь самостоятельно: Песочница Godot