Calques et masques
Fait partie de la section Signaux et collisions du Journey Godot de Coddy. Leçon 22 sur 27.
Les corps et les zones se trouvent sur des couches de collision numérotées. Chacun possède deux paramètres :
collision_layer: les couches sur lesquelles il se trouve.collision_mask: les couches qu’il prend en compte. Une zone ne détecte que les corps situés sur une couche incluse dans son masque.
Ce sont toutes deux des nombres. La couche 1 correspond à 1, la couche 2 à 2, la couche 3 à 4 et la couche 4 à 8. Tout commence sur la couche 1 avec le masque 1, donc tout détecte tout.
Ici, le joueur se trouve sur la couche 2 et la balle de corail sur la couche 1. Pour que seul le joueur puisse récupérer la pièce, celle-ci ne prend en compte que la couche 2 :
func _ready():
collision_mask = 2Défi
MoyenFais en sorte que la pièce ne détecte que le joueur.
- Le joueur se trouve sur la couche 2. Au début de
_ready(), définis lecollision_maskde la pièce pour qu’elle ne détecte que la couche 2. - Laisse la ligne
connecttelle quelle.
Appuie sur « Jouer » : la balle traverse la pièce, puis tu avances et tu la ramasses. Ensuite, appuie sur « Vérifier ».
Essayez vous-même
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
queue_free()
Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Signaux et collisions
Entraînez-vous par vous-même : Playground Godot