自分で関数を作る
CoddyのGodotジャーニー「ノードとシーン」セクションの一部。レッスン 18/28。
Godot は _ready() と _process() を自動的に呼び出します。数行のコードに名前を付けるために、自分で関数を書くこともできます。
func jump_to_start():
position = Vector2(50, 250)関数は、名前の後に括弧を付けてコードから呼び出したときだけ実行されます。jump_to_start() のように書きます。_process() から呼び出すと、毎フレーム実行されます。_ready() から呼び出すと、1 回だけ実行されます。
関数の名前は、その関数が何をするのかを表すのがよいでしょう。そうすると、_process() が手順のリストのように読めます。移動して、それから折り返す、といった具合です。
チャレンジ
簡単右端と下端でロボットが画面内に戻るように、自分で関数を作りましょう。
_process()の下に、xが640を超えた場合のifと、yが360を超えたときに0に戻す処理を含むfunc wrap_around():を書きましょう。_process()内で、ロボットが移動した後にwrap_around()を呼び出し、ifの代わりに使いましょう。
「プレイ」を押しましょう。ロボットは右下へ進み、常に画面内に戻ってきます。その後、「確認」を押しましょう。
自分で試してみよう
extends Node2D
var velocity = Vector2(200, 100)
func _process(delta):
position += velocity * delta
if position.x > 640:
position.x = 0
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ノードとシーンのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド