Menu
CoddyTech

レイヤーとマスク

CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 22/27。

ボディとエリアは、番号付きのコリジョンレイヤー上にあります。それぞれに2つの設定があります。

  • collision_layer:そのオブジェクトが属しているレイヤー。
  • collision_mask:そのオブジェクトが調べるレイヤー。エリアは、マスクに含まれるレイヤー上にあるボディだけを検知します。

どちらも数値です。レイヤー1は1、レイヤー2は2、レイヤー3は4、レイヤー4は8です。すべてのオブジェクトは最初、レイヤー1に属し、マスクは1なので、すべてのオブジェクトが互いを検知します。

ここでは、プレイヤーはレイヤー2に、サンゴのボールはレイヤー1にいます。プレイヤーだけがコインを取れるようにするには、コインがレイヤー2だけを調べるようにします。

func _ready():
	collision_mask = 2
challenge icon

チャレンジ

中級

転がるボールは、あなたが取る前にコインを取ってしまいます。_ready()で、コインのcollision_maskを設定し、レイヤー2(プレイヤーのレイヤー)のみを検知するようにします。ボールはコインをすり抜けるはずです。その後、あなたが近づいてコインを取ります。

自分で試してみよう

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	queue_free()
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

シグナルと衝突のすべてのレッスン

自分で練習してみよう: Godotプレイグラウンド