Menu
CoddyTech

プロセスモード

CoddyのGodotジャーニー「ゲームのルール」セクションの一部。レッスン 14/29。

一時停止中のゲームでは、すべてのノードが停止します。「ゲームオーバー」のメッセージを点滅させたり、一時停止メニューを表示したりするなど、動き続けるべきノードもあります。

ノードのprocess_modeによって、次の動作が決まります。

  • Node.PROCESS_MODE_INHERIT:親ノードと同じ動作をします。これがデフォルトです。
  • Node.PROCESS_MODE_PAUSABLE:ゲームが一時停止すると停止します。
  • Node.PROCESS_MODE_ALWAYS:一時停止中かどうかにかかわらず、動き続けます。
$Music.process_mode = Node.PROCESS_MODE_ALWAYS

スクリプトはBlinkというTimerを使って「ゲームオーバー」を点滅させるようになりました。一時停止するとタイマーも停止するため、メッセージは点滅しません。

challenge icon

チャレンジ

簡単

ゲームが一時停止中も、Game Over の点滅を続けます。

  1. _ready()で、Blinkタイマーを取得します。
  2. そのprocess_modeをNode.PROCESS_MODE_ALWAYSに設定します。

「プレイ」を押してライフを3つ失うと、停止したゲーム画面の上でGame Overが点滅します。その後、「確認」を押します。

自分で試してみよう

extends Node2D

var lives = 3

func _ready():
	$HUD/Lives.text = "Lives: %d" % lives
	$Player.hurt.connect(_on_player_hurt)
	$Blink.timeout.connect(_on_blink_timeout)

func _on_player_hurt():
	lives -= 1
	$HUD/Lives.text = "Lives: %d" % lives
	if lives == 0:
		$HUD/GameOver.visible = true
		get_tree().paused = true

func _on_blink_timeout():
	if lives == 0:
		$HUD/GameOver.visible = not $HUD/GameOver.visible

ゲームのルールのすべてのレッスン

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