Menu
CoddyTech

エリア同士の接触

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

Godotのノードにはシグナルが組み込まれています。Area2Dには、よく使うシグナルが4つあります。

  • body_enteredとbody_exited:ボディが入ってきた、または出ていったことを示します。ボディとは、CharacterBody2DやStaticBody2Dのような、固体のものです。
  • area_enteredとarea_exited:別のエリアが入ってきた、または出ていったことを示します。

エリアは、別のエリアに対してbody_enteredを送信することはありません。落ちてくる星はエリアなので、バスケットにはarea_enteredが必要です。

func _ready():
	area_entered.connect(_on_star_caught)

この関数は入ってきたエリアを受け取るため、_on_body_entered(body)のように値を1つ受け取ります。名前は何でもかまいません。

challenge icon

チャレンジ

簡単

2つの星がバスケットに落ちますが、コンソールには何も表示されません。バスケットは間違ったシグナルを監視しています。星を1つ捕まえるたびにCaught a star!と表示するようにしましょう。

自分で試してみよう

extends Area2D

func _ready():
	body_entered.connect(_on_star_caught)

func _on_star_caught(star):
	print("Caught a star!")
quiz icon腕試し

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

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

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