Menu
CoddyTech

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 = 2
challenge icon

Thử thách

Trung bình

Để đồng xu chỉ nhận biết người chơi.

  1. Người chơi ở lớp 2. Khi bắt đầu _ready(), hãy đặt collision_mask của đồng xu để nó chỉ nhận biết lớp 2.
  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()
quiz iconTự kiểm tra

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