Menu
CoddyTech

파이프 통과 점수 얻기

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

통과하는 파이프마다 1점을 얻습니다. 파이프에는 입구 뒤쪽의 얇은 띠인 Gap이라는 자식 Area2D가 있습니다. 플레이어는 파이프를 통과한 뒤에야 이곳에 닿으므로, 그때 점수를 얻습니다.

pipe.gd에서 자식의 신호를 $Gap을 통해 연결하고 scored를 내보냅니다.

$Gap.body_entered.connect(_on_gap_body_entered)

func _on_gap_body_entered(body):
	scored.emit()

main.gd에서 새 파이프가 만들어질 때마다 해당 파이프의 scored를 연결합니다. score에 1을 더하고 $HUD/Score에 표시합니다. str(score)는 숫자를 텍스트로 변환합니다. 시작할 때 0을 표시합니다.

challenge icon

챌린지

중급

통과하는 파이프마다 1점을 얻으세요.

  1. pipe.gd에 signal scored를 추가하고, $Gap.body_entered를 연결한 다음 본체가 틈에 들어오면 scored를 내보내세요.
  2. main.gd에 var score = 0을 추가하고 시작할 때 $HUD/Score에 0을 표시하세요.
  3. 각 파이프의 scored를 점수를 1 올리고 점수를 표시하는 함수에 연결하세요.

‘플레이’를 누르고 틈 사이로 날아가세요. 점수가 1로 표시됩니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

extends Area2D

signal hit

const SPEED = 160

func _ready():
	body_entered.connect(_on_body_entered)

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

func _on_body_entered(body):
	hit.emit()

프로젝트의 모든 레슨

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