ノードの変数
CoddyのGodotジャーニー「ノードとシーン」セクションの一部。レッスン 13/28。
スクリプトの先頭で、関数の外に作られた変数はノードに属します。フレームが変わっても値を保持し、スクリプト内のすべての関数から使えます。
extends Node2D
var speed = 150
func _process(delta):
position.x += speed * delta値が保持されるため、ノードの変数は時間の経過とともに変化させることができます。毎フレームspeedに値を足すと、ノードはどんどん速くなります。
func _process(delta):
speed += 50 * delta関数内で作られたvarは、呼び出されるたびに作り直され、関数の最後には破棄されます。
チャレンジ
簡単ロボットを静止状態から動かし、加速させましょう。
_process()に、新しい行speed += 200 * deltaを追加します。位置ではなく、フレームごとにspeedに加算されます。先頭にあるvar speed = 0はそのままにしておきます。speedを使ってロボットを動かします。position.x += 100 * deltaをposition.x += speed * deltaに置き換えます。
「プレイ」を押します。ロボットはゆっくり動き出し、その後どんどん速くなります。次に「確認」を押します。
自分で試してみよう
extends Node2D
var speed = 0
func _process(delta):
position.x += 100 * delta
ノードとシーンのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド