파이프 통과 점수 얻기
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을 표시합니다.
챌린지
중급통과하는 파이프마다 1점을 얻으세요.
pipe.gd에signal scored를 추가하고,$Gap.body_entered를 연결한 다음 본체가 틈에 들어오면scored를 내보내세요.main.gd에var score = 0을 추가하고 시작할 때$HUD/Score에0을 표시하세요.- 각 파이프의
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 플레이그라운드