파이프 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이므로 게임이 일시 정지된 동안에는 키 입력을 무시합니다.
챌린지
중급- 점수가 10에 도달하면
You Win!을 표시하고 게임을 일시 정지합니다. - 일시 정지된 상태에서 스페이스 키(
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)
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
프로젝트의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드