Menu
CoddyTech

Chế độ xử lý

Thuộc phần Luật chơi trong hành trình Godot của Coddy. Bài học 14 trên 29.

Khi trò chơi tạm dừng, mọi nút đều ngừng hoạt động. Một số nút cần tiếp tục hoạt động, chẳng hạn như thông báo Game Over nhấp nháy hoặc menu tạm dừng.

process_mode của một nút quyết định:

  • Node.PROCESS_MODE_INHERIT: làm theo nút cha. Đây là chế độ mặc định.
  • Node.PROCESS_MODE_PAUSABLE: ngừng hoạt động khi trò chơi tạm dừng.
  • Node.PROCESS_MODE_ALWAYS: tiếp tục hoạt động dù trò chơi có tạm dừng hay không.
$Music.process_mode = Node.PROCESS_MODE_ALWAYS

Giờ đây, script làm cho dòng chữ Game Over nhấp nháy bằng một Timer có tên Blink. Khi trò chơi tạm dừng, timer cũng dừng, nên dòng chữ không bao giờ nhấp nháy.

challenge icon

Thử thách

Dễ

Giữ cho Game Over nhấp nháy khi trò chơi đang tạm dừng.

  1. Trong _ready(), lấy bộ định thời Blink.
  2. Đặt process_mode của nó thành Node.PROCESS_MODE_ALWAYS.

Nhấn Chơi và mất ba mạng: Game Over nhấp nháy trên màn hình trò chơi đã đóng băng. Sau đó nhấn Kiểm tra.

Tự làm thử

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

Tất cả bài học trong Luật chơi

Tự luyện tập: Playground Godot