木箱を壊す
CoddyのGodotジャーニー「ゲームの手触り」セクションの一部。レッスン 15/23。
木箱にぶつかると、木箱は消えます。代わりに木片に砕けるようにしましょう。burst.tscnは、木片を飛び散らせる一度限りのCPUParticles2Dで、処理が終わると自分自身を削除します。
バーストを木箱の子ノードとして追加してはいけません。queue_free()は子ノードもすべて含めてノードを削除するため、バーストも木箱と一緒に消えてしまいます。木箱の親ノードに、木箱と同じ位置で追加しましょう。
var burst = BURST.instantiate()
burst.position = position
get_parent().add_child(burst)
burst.emitting = true
queue_free()get_parent()はツリー内で木箱の上にあるノード、つまりレベルです。バーストは木箱の兄弟ノードなので、木箱が消えた後も残ります。
チャレンジ
中級プレイヤーが木箱に触れたとき:
BURST.instantiate()でバーストを作成し、- 木箱の
positionに配置し、 get_parent()に追加して、そのemittingをtrueに設定し、- その後、木箱を削除します。
自分で試してみよう
extends Area2D
const BURST = preload("res://burst.tscn")
func _ready():
body_entered.connect(_on_body_entered)
func _on_body_entered(body):
queue_free()
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ゲームの手触りのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド