スポーン関数
CoddyのGodotジャーニー「ゲームのルール」セクションの一部。レッスン 18/29。
ゲームの実行中にノードを作ることをスポーンと呼びます。スポーン処理の行を独自の関数に入れ、x位置をパラメーターとして渡します。
func spawn(x):
var block = block_scene.instantiate()
block.position = Vector2(x, -30)
add_child(block)呼び出すたびに新しいブロックが作られます。ノードはゲーム内に一度しか存在できません。同じブロックに対してadd_child()を2回呼び出すとエラーになります。そのため、各ブロックにはそれぞれ独自のinstantiate()が必要です。
チャレンジ
簡単1つの関数でブロックを3つ落としましょう。
func spawn(x)を書き、Vector2(x, -30)の位置にブロックを作成して追加します。_ready()で、spawn(160)、spawn(320)、spawn(480)を3回呼び出します。
「プレイ」を押すと、3つのブロックが横並びに落ちます。その後、「確認」を押します。
自分で試してみよう
extends Node2D
var block_scene = preload("res://block.tscn")
func _ready():
var block = block_scene.instantiate()
block.position = Vector2(160, -30)
add_child(block)
ゲームのルールのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド