Menu
CoddyTech

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 = 2
challenge icon

Défi

Moyen

La 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()
quiz iconTestez-vous

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