Menu
CoddyTech

파이프 통과 점수 얻기

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

지나치는 파이프 하나마다 점수를 얻습니다. 파이프에는 입구 뒤에 있는 얇은 띠인 Area2D 자식 노드 Gap이 있습니다. 플레이어는 틈을 통과한 다음에야 이 노드에 닿으므로, 그때 점수를 얻습니다.

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. pipe.gd에서 signal scored를 추가하세요. $Gap.body_entered를 연결하고 몸체가 간격에 들어가면 scored를 발생시키세요.
  2. main.gd에서 var score = 0을 추가하고 시작할 때 $HUD/Score에 0을 표시하세요.
  3. 각 파이프의 scored를 점수를 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()
quiz icon실력 점검

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

프로젝트의 모든 레슨

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