Lớp và mặt nạ
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 22 trên 27.
Các body và area nằm trên những lớp va chạm được đánh số. Mỗi lớp có hai thiết lập:
collision_layer: các lớp mà nó nằm trên đó.collision_mask: các lớp mà nó theo dõi. Một area chỉ nhận biết những body nằm trên lớp có trong mask của nó.
Cả hai đều là số. Lớp 1 là 1, lớp 2 là 2, lớp 3 là 4, lớp 4 là 8. Mọi thứ đều bắt đầu trên lớp 1 với mask là 1, nên mọi thứ đều nhận biết lẫn nhau.
Ở đây, người chơi nằm trên lớp 2 và quả bóng san hô nằm trên lớp 1. Để chỉ người chơi lấy được đồng xu, đồng xu chỉ theo dõi lớp 2:
func _ready():
collision_mask = 2Thử thách
Trung bìnhĐể đồng xu chỉ nhận biết người chơi.
- Người chơi ở lớp 2. Khi bắt đầu
_ready(), hãy đặtcollision_maskcủa đồng xu để nó chỉ nhận biết lớp 2. - Giữ nguyên dòng
connect.
Nhấn Chơi: quả bóng lăn xuyên qua đồng xu, sau đó bạn đi lên và nhặt đồng xu. Tiếp theo, nhấn Kiểm tra.
Tự làm thử
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
queue_free()
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Tín hiệu và va chạm
Tự luyện tập: Playground Godot