当たり判定のLayerとMask

当たり判定のLayerとMask

書きこむ順番が、バラバラだけど、当たり判定のこと。

 ノードの種類の、【StaticBody2D】【CharacterBody2D】【RigidBody2D】を作ると、右の【インスペクター】にあるオレンジ丸で囲った<<Collision>>内の項目。
そこにある<<Layer>>、<<Mask>>もゲーム作りに重要そうなのに、その説明があまりないように思えるので。

調べて分かったことを書く。
<<Layer>>が、このノードの当たり判定の名前。
<<Mask>>が、相手側の当たり判定のこと。

名称は自由に設定できる。<<Layer>>、<<Mask>>の右側にある<<・・・>>を押すと、名称を入力できる。

 緑丸の【CollisionShape2D】ではなく、親ノードとなってる【NUMAKKE(元は、CharacterBody2D)】の
当たり判定<<Coiision>>の当たり判定を操ることにした。
【NUMAKKE】=主人公キャラ、って感じだったから。

<<Layer>>の1=当たり判定の名前を”プレイヤー”、にした。
【NUMAKKE】ノードをこの当たり判定にするため、<<Layer>>の1をONにした。

<<Mask>>の1=プレイヤー
<<Mask>>の2=壁
<<Mask>>の3=ただのエフェクト
<<Mask>>の4=敵
<<Mask>>の5=敵の電撃ライン
と設定した。
<<Layer>>の1、つまり主人公と当たって欲しいのは、
<<Mask>>の2・4・5なので、そこにレ点チェックした。

当たり判定のON、OFFな書き方。

set_collision_mask_value(Maskの番号、Bool型)

Bool型。
falseにするとその番号との当たり判定をoff。
trueにするとその番号との当たり判定をon。

もしかしたら、この他のノードの当たり判定を操りたいときは、
set_collision~~の前に代入した他のノード名を書くと、操れるようになるのだろうか?
面倒なので、試していない。
=============================
=============================
レイヤーの表示そのものをON・OFFするやり方を説明したけど、
当たり判定とレイヤーの処理の仕方は、他にもあるみたい。

報告する

コメント

  • コメント ( 0 )

  • トラックバックは利用できません。

  1. この記事へのコメントはありません。

コメントするためには、 ログイン してください。