スポーン関数
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()が必要です。
チャレンジ
簡単func spawn(x)を記述し、(x, -30)にブロックを作成して追加します。_ready()でこれを3回呼び出し、x = 160、320、480の位置にブロックを落とします。
自分で試してみよう
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プレイグラウンド