Menu
CoddyTech

Warstwy i maski

Część sekcji Sygnały i kolizje ścieżki Godot w Coddy. Lekcja 22 z 27.

Ciała i obszary znajdują się na ponumerowanych warstwach kolizji. Każde z nich ma dwa ustawienia:

  • collision_layer: warstwy, na których się znajduje.
  • collision_mask: warstwy, które obserwuje. Obszar wykrywa tylko ciała znajdujące się na warstwie uwzględnionej w jego masce.

Oba ustawienia są liczbami. Warstwa 1 to 1, warstwa 2 to 2, warstwa 3 to 4, a warstwa 4 to 8. Wszystko zaczyna na warstwie 1 z maską 1, więc wszystko wykrywa wszystko.

Tutaj gracz znajduje się na warstwie 2, a koralowa kulka na warstwie 1. Aby tylko gracz mógł zebrać monetę, moneta obserwuje wyłącznie warstwę 2:

func _ready():
	collision_mask = 2
challenge icon

Wyzwanie

Średni

Tocząca się piłka zabiera monetę, zanim zdążysz to zrobić. W funkcji _ready() ustaw collision_mask monety tak, aby wykrywała tylko warstwę 2, czyli warstwę gracza. Piłka powinna przetoczyć się przez monetę. Potem podejdź i ją zabierz.

Spróbuj swoich sił

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	queue_free()
quiz iconSprawdź się

Ta lekcja zawiera krótki quiz. Zacznij lekcję, żeby na niego odpowiedzieć i śledzić swoje postępy.

Wszystkie lekcje w sekcji Sygnały i kolizje

Poćwicz samodzielnie: Edytor online Godot