Menu
CoddyTech

파이프 10개 통과해 승리하기

Coddy Godot 여정의 프로젝트 섹션에 포함된 레슨. 33개 중 25번째.

플레이어는 아직 이길 수는 없지만 질 수는 있습니다. 점수가 10점이 되면 You Win!을 표시하고 일시 정지합니다. 점수가 올라가는 부분에서 테스트해 보세요:

if score == 10:
	$HUD/Message.text = "You Win!"
	get_tree().paused = true

마지막으로 플레이어가 다시 플레이할 수 있게 합니다. 게임이 일시 정지된 동안 스페이스 키를 누르면 장면을 다시 불러옵니다. Main은 Always이므로 _process는 계속 실행됩니다:

func _process(delta):
	if get_tree().paused and Input.is_action_just_pressed("jump"):
		get_tree().paused = false
		get_tree().reload_current_scene()

스페이스 키는 날갯짓 키이기도 합니다. flyer는 Pausable이므로 게임이 일시 정지된 동안에는 키 입력을 무시합니다.

challenge icon

챌린지

중급
  1. 점수가 10에 도달하면 You Win!을 표시하고 게임을 일시 정지합니다.
  2. 일시 정지된 상태에서 스페이스 키(jump)를 누르면 일시 정지가 해제되고 장면이 다시 로드됩니다.

직접 해보기

extends Node2D

const PIPE = preload("res://pipe.tscn")

var score = 0

func _ready():
	$PipeTimer.timeout.connect(_on_pipe_timer_timeout)
	$Flyer.crashed.connect(_on_crash)
	$HUD/Score.text = "0"

func _on_pipe_timer_timeout():
	var pipe = PIPE.instantiate()
	pipe.position = Vector2(700, randf_range(100, 250))
	pipe.hit.connect(_on_crash)
	pipe.scored.connect(_on_scored)
	$Pipes.add_child(pipe)

func _on_crash():
	$HUD/Message.text = "Game Over"
	get_tree().paused = true

func _on_scored():
	score += 1
	$HUD/Score.text = str(score)
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

프로젝트의 모든 레슨

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