Nodul CollisionShape2D definește forma geometrică de contact (Circle, Rectangle, Capsule sau Segment) atașată unui corp fizic, iar sistemul de collision_layer și collision_mask controlează cine cu cine interacționează.
extends Area2D
func _ready() -> void:
# 1. Stratul pe care se află obiectul curent (Layer 2 = Jucător):
set_collision_layer_value(2, true)
# 2. Straturile pe care le detectează / scanează (Mask 3 = Monede, Mask 4 = Inamici):
set_collision_mask_value(3, true)
set_collision_mask_value(4, true)
# Dezactivează detecția cu alte obiecte neutre (Layer 1):
set_collision_mask_value(1, false)
func dezactiveaza_coliziunea() -> void:
# Dezactivarea formei se face obligatoriu prin set_deferred pentru a preveni erorile de pas fizic:
$CollisionShape2D.set_deferred("disabled", true)
Regulă de aur: Modificarea stării disabled în timpul procesării semnalelor de coliziune trebuie realizată întotdeauna prin set_deferred().
Întrebări & Exemple de Cod:
CollisionShape2D și Măști Fizice în Godot 4: Straturi și ColiziuniAi o nelămurire despre utilizarea comenzii
CollisionShape2D și Măști Fizice în Godot 4: Straturi și Coliziunisau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.