ゲームを一時停止する
CoddyのGodotジャーニー「ゲームのルール」セクションの一部。レッスン 13/29。
ゲームオーバー後も、プレイヤーは歩き回ることができます。1行のコードでゲーム全体を一時停止します。
get_tree().paused = trueget_tree()はシーンツリーで、ゲーム内のすべてのノードを保持しています。一時停止中は、_processと_physics_processの実行が止まります。タイマーのカウントも止まり、何も動いたり衝突したりしません。画面には最後のフレームが表示され続けます。
get_tree().paused = falseですべてが再開します。
チャレンジ
簡単最後のライフを失ったときにゲームを一時停止します。
- ゲームオーバーを表示する
ifを見つけます。 - その中の該当行の下で、
get_tree().pausedをtrueに設定します。
「プレイ」を押してライフを3つ失います。ゲームオーバーが表示され、プレイヤーは動けなくなります。その後、「確認」を押します。
自分で試してみよう
extends Node2D
var lives = 3
func _ready():
$HUD/Lives.text = "Lives: %d" % lives
$Player.hurt.connect(_on_player_hurt)
func _on_player_hurt():
lives -= 1
$HUD/Lives.text = "Lives: %d" % lives
if lives == 0:
$HUD/GameOver.visible = true
ゲームのルールのすべてのレッスン
自分で練習してみよう: Godotプレイグラウンド