Menu
CoddyTech

ノードを削除する

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

拾ったコインは隠れるのではなく、なくなる必要があります。そうすれば、二度と触れることはできません。queue_free()は、ノードとそのすべての子ノードをゲームから削除します。

func _on_body_entered(body):
	queue_free()

queue_free()を単独で呼び出すと、そのスクリプトが付いているノード、この場合はコインが削除されます。

名前に「queue」とあるのは、Godotがノードをすぐにではなく、現在のフレームの最後に解放するためです。それまでは、ほかのコードがそのノードを使うことがあります。これがなぜ重要なのかは、数レッスン後にわかります。

challenge icon

チャレンジ

簡単

コインに触れたときに消えるようにしましょう。

  1. _on_body_enteredの中のpassを置き換えます。
  2. queue_free()でコインを解放します。

「プレイ」を押してコインに触れてみましょう。コインが消えます。その後、「確認」を押します。

自分で試してみよう

extends Area2D

func _ready():
	body_entered.connect(_on_body_entered)

func _on_body_entered(body):
	pass

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

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