ノードを削除する
CoddyのGodotジャーニー「シグナルと衝突」セクションの一部。レッスン 15/27。
拾ったコインは隠れるのではなく消えるべきです。そうすれば、もう何も触れることができません。queue_free()は、ノードとその子ノードをすべてゲームから削除します。
func _on_body_entered(body):
queue_free()queue_free()を単独で呼び出すと、スクリプトが付いているノード、この場合はコインが削除されます。
名前に「queue(キュー)」とあるのは、Godotがノードをすぐにではなく、現在のフレームの最後に解放するためです。それまでは、ほかのコードがそのノードを使うことがあります。これが重要な理由は、数レッスン後にわかります。
チャレンジ
簡単コインに触れたら消えるようにしましょう。_on_body_enteredで解放します。
自分で試してみよう
extends Area2D
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
pass
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
シグナルと衝突のすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド