파이프 통과 점수 얻기
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을 표시합니다.
챌린지
중급pipe.gd에서signal scored를 추가하세요.$Gap.body_entered를 연결하고 몸체가 간격에 들어가면scored를 발생시키세요.main.gd에서var score = 0을 추가하고 시작할 때$HUD/Score에0을 표시하세요.- 각 파이프의
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()
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
프로젝트의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드