Vùng phát hiện đối tượng
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 1 trên 27.
Area2D là một vùng nhận biết những gì đi vào đó.
Area2D cần có nút con CollisionShape2D. Hình dạng này xác định kích thước của vùng, ở đây là khung màu xanh lá cây. Các đối tượng đi xuyên qua vùng. Chúng không va chạm với vùng.
Khi một đối tượng đi vào, vùng gửi một tín hiệu có tên là body_entered. Tập lệnh của vùng này lắng nghe tín hiệu đó:
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Welcome to the zone!")_on_body_entered chạy mỗi khi một đối tượng đi vào hình dạng này. Bài học tiếp theo giải thích dòng connect. Robot là một đối tượng, nhưng nó di chuyển dọc theo y = 250, bên dưới vùng.
Thử thách
DễĐặt vùng trên đường đi của rô-bốt.
- Rô-bốt đi dọc theo
y = 250. Trong_ready(), đặtposition.ycủa vùng thành250. - Giữ nguyên dòng
connect.
Nhấn "Chơi": khi rô-bốt đi vào, Console hiển thị Welcome to the zone!. Sau đó nhấn "Kiểm tra".
Tự làm thử
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
print("Welcome to the zone!")
Tất cả bài học trong Tín hiệu và va chạm
Tự luyện tập: Playground Godot