Menu
CoddyTech

Вспышка героя

Часть раздела Проекты путешествия по 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() при каждом попадании. Можно вызвать функцию другого узла через этот узел.

challenge icon

Задание

Средне

Когда охранник касается героя, пусть герой вспыхивает красным.

  1. В hero.gd напиши flash(): установи modulate в Color(1, 0.3, 0.3), затем за 0.5 секунды плавно верни значение к Color(1, 1, 1).
  2. В 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()

Все уроки раздела Проекты

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