Menu
CoddyTech

피하기: 게임 오버

Coddy Godot 여정의 게임 규칙 섹션에 포함된 레슨. 29개 중 28번째.

생명이 0이 되어도 게임은 계속됩니다. 점수는 계속 올라가고 생명은 0 아래로 내려갑니다.

가시 방에서 했던 것처럼 게임을 끝내세요. 숨겨진 GameOver 레이블을 표시하고 게임을 일시 정지하세요. 일시 정지하면 타이머가 모두 멈추므로 점수는 살아남은 시간(초)으로 유지됩니다. 블록은 현재 위치에서 멈춥니다.

if lives == 0:
	$HUD/GameOver.visible = true
	get_tree().paused = true
challenge icon

챌린지

중급

목숨이 다하면 게임을 끝내세요.

  1. _on_player_hurt()에서 목숨 표시 줄 다음에 lives가 0인지 확인하세요.
  2. 0이면 $HUD/GameOver를 표시하고 게임을 일시 정지하세요.

‘플레이’를 누르고 세 번 맞으세요. 게임 오버가 표시되고 블록이 멈춥니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

extends Node2D

var block_scene = preload("res://block.tscn")
var score = 0
var lives = 3

func _ready():
	$HUD/Score.text = "Score: %d" % score
	$HUD/Lives.text = "Lives: %d" % lives
	$SpawnTimer.timeout.connect(_on_spawn_timer_timeout)
	$ScoreTimer.timeout.connect(_on_score_timer_timeout)
	$Player.hurt.connect(_on_player_hurt)

func _on_spawn_timer_timeout():
	var block = block_scene.instantiate()
	block.position = Vector2(randf_range(40, 600), -30)
	add_child(block)

func _on_score_timer_timeout():
	score += 1
	$HUD/Score.text = "Score: %d" % score

func _on_player_hurt():
	lives -= 1
	$HUD/Lives.text = "Lives: %d" % lives

게임 규칙의 모든 레슨

직접 연습해 보세요: Godot 플레이그라운드