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 observe. Une zone ne remarque que les corps situés sur une couche comprise dans son masque.
Les deux sont des nombres. La couche 1 vaut 1, la couche 2 vaut 2, la couche 3 vaut 4, la couche 4 vaut 8. Tout commence sur la couche 1 avec le masque 1, donc tout remarque 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 prendre la pièce, la pièce n’observe que la couche 2 :
func _ready():
collision_mask = 2Défi
MoyenLa balle roulante prend la pièce avant que tu ne puisses le faire. Dans _ready(), définis le collision_mask de la pièce afin qu’elle ne détecte que la couche 2, celle du joueur. La balle doit traverser la pièce. Ensuite, tu t’approches et tu la prends.
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