Menu
CoddyTech

スポーン関数

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()が必要です。

challenge icon

チャレンジ

簡単

1つの関数でブロックを3つ落としましょう。

  1. func spawn(x)を書き、Vector2(x, -30)の位置にブロックを作成して追加します。
  2. _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プレイグラウンド