Tín hiệu từ nút khác
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 9 trên 27.
Một script cũng có thể lắng nghe tín hiệu của một nút khác. Lấy nút bằng $, rồi kết nối tín hiệu của nút đó:
$Switch.body_entered.connect(_on_switch_body_entered)Nghĩa là: khi Switch gửi body_entered, hãy gọi _on_switch_body_entered. Hàm này nằm trong script đó, nên có thể dùng các nút của script này, chẳng hạn như $Light.
Game thường được kết nối theo cách này. Một script chính kết nối công tắc, đèn và cửa, còn từng nút vẫn đơn giản. Godot đặt tên cho các hàm như vậy bằng _on_, tiếp theo là tên nút, rồi đến tên tín hiệu.
Thử thách
DễKhi bật công tắc, đèn sẽ sáng.
- Trong
_ready()của Main, bắt đầu một dòng bằng$Switch.body_entered. - Kết nối nó với
_on_switch_body_entered.
Nhấn Chơi rồi bước lên công tắc màu xanh lá: đèn sẽ sáng. Sau đó nhấn Kiểm tra.
Tự làm thử
extends Node2D
func _ready():
pass
func _on_switch_body_entered(body):
$Light.visible = true
Tất cả bài học trong Tín hiệu và va chạm
2Tín hiệu
Các vùng chạm nhauTín hiệu của riêng bạnTín hiệu kèm giá trịTín hiệu từ nút khácLắng nghe tín hiệu của bạnTự luyện tập: Playground Godot