Menu
CoddyTech

ノードの変数

CoddyのGodotジャーニー「ノードとシーン」セクションの一部。レッスン 13/28。

スクリプトの先頭で、関数の外に作られた変数はノードに属します。フレームが変わっても値を保持し、スクリプト内のすべての関数から使えます。

extends Node2D

var speed = 150

func _process(delta):
	position.x += speed * delta

値が保持されるため、ノードの変数は時間の経過とともに変化させることができます。毎フレームspeedに値を足すと、ノードはどんどん速くなります。

func _process(delta):
	speed += 50 * delta

関数内で作られたvarは、呼び出されるたびに作り直され、関数の最後には破棄されます。

challenge icon

チャレンジ

簡単

ロボットを静止状態から動かし、加速させましょう。

  1. _process()に、新しい行speed += 200 * deltaを追加します。位置ではなく、フレームごとにspeedに加算されます。先頭にあるvar speed = 0はそのままにしておきます。
  2. speedを使ってロボットを動かします。position.x += 100 * deltaをposition.x += speed * deltaに置き換えます。

「プレイ」を押します。ロボットはゆっくり動き出し、その後どんどん速くなります。次に「確認」を押します。

自分で試してみよう

extends Node2D

var speed = 0

func _process(delta):
	position.x += 100 * delta

ノードとシーンのすべてのレッスン

自分で練習してみよう: Godotプレイグラウンド