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 đó.
Thử thách
Trung bìnhLàm nhân vật chính nhấp nháy màu đỏ khi lính gác chạm vào.
- Trong
hero.gd, viếtflash(): đặtmodulatethànhColor(1, 0.3, 0.3), sau đó dùng tween để đưa giá trị này vềColor(1, 1, 1)trong0.5giây. - 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
1Dự án: Breakout
Thanh đỡ trong BreakoutGiữ thanh đỡ trong màn hình4Dự án: trò chơi khám phá hầm ngục
Khám phá hầm ngụcNhặt chìa khóaTự luyện tập: Playground Godot