Menu
CoddyTech

타이머로 파이프 움직이기

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

이제 파이프를 살펴봅시다. 파이프는 장면 pipe.tscn입니다. 위쪽과 아래쪽 파이프 사이에 틈이 있습니다. pipe.gd에서 파이프는 초당 SPEED픽셀의 속도로 왼쪽으로 이동합니다. 왼쪽 가장자리를 지나면 파이프가 스스로 제거되므로 오래된 파이프가 쌓이지 않습니다.

position.x -= SPEED * delta
if position.x < -60:
	queue_free()

장면에는 1.6초마다 작동하는 PipeTimer라는 Timer가 있습니다. main.gd에서 타이머의 timeout 신호를 연결하고 오른쪽 가장자리 너머에 파이프를 만듭니다.

func _on_pipe_timer_timeout():
	var pipe = PIPE.instantiate()
	pipe.position = Vector2(700, 180)
	$Pipes.add_child(pipe)

Godot은 트리 순서에 따라 노드를 그립니다. Pipes가 Ground보다 먼저 나오므로, 지면이 모든 파이프의 아래쪽을 가립니다.

challenge icon

챌린지

중급
  1. pipe.gd에서 const SPEED = 160을 추가하세요. 매 물리 프레임마다 파이프를 왼쪽으로 이동시키고, position.x가 -60보다 작아지면 파이프를 제거하세요.
  2. main.gd에서 const PIPE = preload("res://pipe.tscn")을 추가하고 $PipeTimer.timeout을 연결하세요. 시간이 초과될 때마다 Pipes 노드에 (700, 180) 위치로 파이프를 만드세요.

직접 해보기

extends Node2D

func _ready():
	pass
quiz icon실력 점검

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

프로젝트의 모든 레슨

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