Вспышка героя
Часть раздела Проекты путешествия по Godot на Coddy. Урок 34 из 36.
Потерянное сердце легко не заметить на верхней панели. Сделай так, чтобы при попадании герой мигал красным, а затем цвет постепенно возвращался к исходному. Для этого используется анимация в функции flash() героя:
func flash():
modulate = Color(1, 0.3, 0.3)
var tween = create_tween()
tween.tween_property(self, "modulate", Color(1, 1, 1), 0.5)Оттенок сразу становится красным, затем анимация за полсекунды возвращает его к белому. modulate меняет оттенок героя и всех его дочерних узлов.
main.gd вызывает $Hero.flash() при каждом попадании. Можно вызвать функцию другого узла через этот узел.
Задание
СреднеКогда охранник касается героя, пусть герой вспыхивает красным.
- В
hero.gdнапишиflash(): установиmodulateвColor(1, 0.3, 0.3), затем за0.5секунды плавно верни значение кColor(1, 1, 1). - В
main.gdвызови$Hero.flash(), когда охранник касается героя.
Нажми «Играть» и коснись охранника: герой вспыхнет красным. Затем нажми «Проверить».
Попробуйте сами
extends CharacterBody2D
const SPEED = 160
func _physics_process(delta):
velocity = Input.get_vector("move_left", "move_right", "move_up", "move_down") * SPEED
move_and_slide()
Все уроки раздела Проекты
1Проект: «Арканоид»
Ракетка для «Арканоида»Не выпускаем ракетку за экран4Проект: Подземелье
Пройди по подземельюПодбери ключПотренируйтесь самостоятельно: Песочница Godot