Menu
CoddyTech

Anh hùng lóe sáng

Thuộc phần Dự án trong hành trình Godot của Coddy. Bài học 34 trên 36.

Rất dễ bỏ sót một trái tim đã mất trên thanh trên cùng. Khi bị đánh trúng, hãy làm nhân vật chính lóe đỏ rồi mờ dần trở lại. Tween sẽ làm việc này trong hàm (function) flash() của nhân vật chính:

func flash():
	modulate = Color(1, 0.3, 0.3)
	var tween = create_tween()
	tween.tween_property(self, "modulate", Color(1, 1, 1), 0.5)

Màu sắc chuyển sang đỏ ngay lập tức, rồi tween đưa màu trở lại trắng trong nửa giây. modulate phủ màu lên nhân vật chính và tất cả nút con của nó.

main.gd gọi $Hero.flash() mỗi khi bị đánh trúng. Bạn có thể gọi một hàm trên nút khác thông qua nút đó.

challenge icon

Thử thách

Trung bình

Làm nhân vật chính nhấp nháy màu đỏ khi lính gác chạm vào.

  1. Trong hero.gd, viết flash(): đặt modulate thành Color(1, 0.3, 0.3), sau đó dùng tween để đưa giá trị này về Color(1, 1, 1) trong 0.5 giây.
  2. Trong main.gd, gọi $Hero.flash() khi lính gác chạm vào nhân vật chính.

Nhấn Chơi rồi chạm vào lính gác: nhân vật chính sẽ nhấp nháy màu đỏ. Sau đó nhấn Kiểm tra.

Tự làm thử

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()

Tất cả bài học trong Dự án

Tự luyện tập: Playground Godot