브레이크아웃 점수
Coddy Godot 여정의 프로젝트 섹션에 포함된 레슨. 33개 중 7번째.
각 벽돌의 점수는 10점입니다. 공은 벽돌을 부수면 이를 알고, main.gd가 점수를 관리합니다. 신호로 두 요소를 연결합니다. 공은 벽돌을 부술 때마다 신호를 내보내고, 메인 스크립트는 이를 듣습니다.
ball.gd에서 신호를 맨 위에 선언하고 smash() 옆에서 신호를 내보내세요.
signal brick_broken
# _on_body_entered에서 body.smash() 다음에:
brick_broken.emit()main.gd에서 _ready에 신호를 연결하고, 신호가 호출하는 함수에서 점수를 추가하세요.
func _on_brick_broken():
score += 10
$HUD/Score.text = "Score: %d" % score라벨은 HUD라는 CanvasLayer 안에 있습니다. _ready에서 라벨을 Score: 0으로 설정하세요. 그러지 않으면 첫 번째 벽돌을 부술 때까지 비어 있습니다.
챌린지
중급ball.gd에서signal brick_broken을 추가하고 벽돌이 깨질 때 신호를 발생시키세요.main.gd에서var score = 0을 추가하고, 10을 더한 뒤$HUD/Score에Score: 10,Score: 20, ...을 표시하는 함수에$Ball.brick_broken을 연결하세요.- 게임이 시작될 때
Score: 0을 표시하세요.
직접 해보기
extends Node2D
const BRICK = preload("res://brick.tscn")
const COLORS = [Color(1, 0.42, 0.42), Color(1, 0.78, 0.34), Color(0.49, 0.95, 0.75), Color(0.369, 0.635, 1), Color(0.75, 0.82, 0.95)]
func _ready():
for row in 5:
for column in 8:
var brick = BRICK.instantiate()
brick.position = Vector2(68 + column * 72, 60 + row * 26)
brick.color = COLORS[row]
add_child(brick)
이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
프로젝트의 모든 레슨
직접 연습해 보세요: Godot 플레이그라운드