Menu
CoddyTech

Nhiều chông, một hàm

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 21 trên 27.

Một màn chơi có thể có nhiều chông, tất cả đều hoạt động giống nhau. Kết nối tất cả với một hàm bằng cách lặp qua nhóm của chúng:

for spike in get_tree().get_nodes_in_group("spikes"):
	spike.body_entered.connect(_on_spike_body_entered)

Mỗi lần lặp, vòng lặp kết nối với body_entered tiếp theo. Bạn chạm vào hàng nào thì cùng một hàm sẽ chạy và nhận đối tượng cơ thể của bạn.

Thêm hàng chông thứ năm vào nhóm mà không cần viết thêm code. Bốn hàng chông ở đây thuộc nhóm spikes.

challenge icon

Thử thách

Trung bình

Khi chạm vào bất kỳ hàng gai nào, hãy đưa bạn trở về điểm xuất phát.

  1. Trong _ready(), thay dòng connect duy nhất bằng một vòng lặp for duyệt qua nhóm spikes.
  2. Bên trong vòng lặp, kết nối body_entered của từng nút với _on_spike_body_entered.

Nhấn Chơi rồi đi vào bất kỳ hàng gai nào: bạn sẽ quay lại điểm xuất phát. Sau đó nhấn Kiểm tra.

Tự làm thử

extends Node2D

func _ready():
	$Spikes1.body_entered.connect(_on_spike_body_entered)

func _on_spike_body_entered(body):
	body.position = Vector2(80, 280)

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

Tự luyện tập: Playground Godot