タイマーを待つ
CoddyのGodotジャーニー「ゲームのルール」セクションの一部。レッスン 5/29。
関数内で一度だけ待つ場合、Timerノードは必要ありません。get_tree().create_timer(2.0)は、すでに実行中のコード内でワンショットタイマーを作成します。awaitは、timeoutシグナルが届くまで関数を一時停止します。
func _ready():
print("Wait for it")
await get_tree().create_timer(2.0).timeout
print("Now!")最初の行はすぐに出力されます。ゲームは動き続ける一方で、関数はawaitのところで停止します。2秒後、関数は処理を再開します。
末尾の.timeoutはそのままにしてください。awaitはシグナルを待ち、timeoutがそのシグナルです。
チャレンジ
簡単ゲーム開始から2秒後にゲートを開きます。
_ready()内で、$Gateを移動する行を見つけます。- その上に、
get_tree().create_timer()からの2.0秒タイマーのtimeoutをawaitします。
「プレイ」を押すと、ゲートは2秒待ってから開きます。その後、「確認」を押します。
自分で試してみよう
extends Node2D
func _ready():
$Gate.position.y -= 140
このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。
ゲームのルールのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド