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

チャレンジ

簡単

ゲームが一時停止している間も「ゲームオーバー」を点滅させ続けます。_ready()で、Blinkタイマーのprocess_modeをNode.PROCESS_MODE_ALWAYSに設定します。

自分で試してみよう

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
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

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

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