Сжатие и растяжение
Часть раздела Ощущения от игры путешествия по 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.
Нажми «Играть» и нажми E: робот сплющивается и возвращается в исходное положение. Затем нажми «Проверить».
Попробуйте сами
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