Menu
CoddyTech

Điểm lưu

Thuộc phần Tín hiệu và va chạm trong hành trình Godot của Coddy. Bài học 20 trên 27.

Điểm lưu tiến trình thay đổi nơi các gai đưa bạn đến. Vì vậy, biến điểm bắt đầu được đặt ở đầu main.gd, nơi mọi hàm đều có thể truy cập:

var start_point = Vector2(80, 280)

func _on_spikes_body_entered(body):
	body.position = start_point

Các gai đưa bạn đến vị trí mà start_point lưu tại thời điểm đó. Thay đổi biến này, lần va chạm tiếp theo sẽ đưa bạn đến vị trí mới.

Thay đổi biến bằng start_point = .... Viết var start_point = ... bên trong một hàm sẽ tạo ra một biến mới chỉ tồn tại trong hàm đó. Biến ở đầu tệp vẫn giữ nguyên.

challenge icon

Thử thách

Trung bình

Biến lá cờ thành điểm lưu.

  1. Trong _on_checkpoint_body_entered, gán $Checkpoint.position cho start_point, không dùng var.
  2. Đổi màu lá cờ thành xanh bạc hà: $Checkpoint.modulate = Color(0.49, 0.95, 0.75).

Nhấn Chơi, chạm vào lá cờ rồi chạm vào gai nhọn: bạn sẽ quay lại lá cờ. Sau đó nhấn Kiểm tra.

Tự làm thử

extends Node2D

var start_point = Vector2(80, 280)

func _ready():
	$Spikes.body_entered.connect(_on_spikes_body_entered)
	$Checkpoint.body_entered.connect(_on_checkpoint_body_entered)

func _on_spikes_body_entered(body):
	body.position = start_point

func _on_checkpoint_body_entered(body):
	pass

Tất cả bài học trong Tín hiệu và va chạm

Tự luyện tập: Playground Godot