Menu
CoddyTech

타이머로 파이프 움직이기

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

다음은 파이프입니다. 파이프는 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을 연결하세요.
  3. 시간 초과가 발생할 때마다 Pipes 노드에 (700, 180) 위치의 파이프를 생성하세요.

‘플레이’를 누르세요. 파이프가 오른쪽에서 미끄러져 들어옵니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

extends Node2D

func _ready():
	pass

프로젝트의 모든 레슨

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