키를 눌러 다시 시작
Coddy Godot 여정의 게임 규칙 섹션에 포함된 레슨. 29개 중 15번째.
이 줄은 현재 장면을 버리고 파일에서 새로 불러옵니다:
get_tree().reload_current_scene()새 게임은 목숨 3개로 시작하며, 플레이어는 초록색 사각형에 있고 게임 오버 화면은 숨겨져 있습니다.
Main도 일시 중지되므로, _process는 키 입력을 감지하지 못합니다. Main 자체의 process_mode를 Node.PROCESS_MODE_ALWAYS로 설정하세요. 플레이어를 제외한 자식 노드들은 이 설정을 상속합니다. 장면에서 플레이어를 일시 중지 가능으로 설정하므로, 플레이어는 계속 멈춰 있습니다.
장면을 다시 불러와도 게임의 일시 중지는 해제되지 않습니다. 다시 불러오기 전에 get_tree().paused = false로 설정하세요. 그렇지 않으면 새 게임이 일시 중지된 상태로 시작합니다.
챌린지
쉬움게임 오버 후 플레이어가 E를 눌러 다시 플레이할 수 있게 합니다.
_ready()에서 이 노드의process_mode를Node.PROCESS_MODE_ALWAYS로 설정합니다._process()에서lives가 0이고action이 방금 눌렸을 때 게임 일시 정지를 해제하고 씬을 다시 불러옵니다.
직접 해보기
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)
$Blink.process_mode = Node.PROCESS_MODE_ALWAYS
func _process(delta):
pass
func _on_player_hurt():
lives -= 1
$HUD/Lives.text = "Lives: %d" % lives
if lives == 0:
$HUD/GameOver.visible = true
$HUD/Hint.visible = true
get_tree().paused = true
func _on_blink_timeout():
if lives == 0:
$HUD/GameOver.visible = not $HUD/GameOver.visible
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
게임 규칙의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드