Menu
CoddyTech

브레이크아웃 점수

Coddy Godot 여정의 프로젝트 섹션에 포함된 레슨. 36개 중 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으로 설정하세요. 그렇지 않으면 첫 번째 벽돌이 부서질 때까지 비어 있습니다.

challenge icon

챌린지

중급

벽돌 하나마다 10점을 얻으세요.

  1. ball.gd에서 signal brick_broken을 추가하고 벽돌이 부서질 때 신호를 발생시키세요.
  2. main.gd에서 var score = 0을 추가하고 _ready에서 $HUD/Score에 Score: 0을 표시하세요.
  3. $Ball.brick_broken을 점수를 10점 더하고 점수를 표시하는 함수에 연결하세요.

‘플레이’를 누르고 벽돌을 부수세요. 레이블에 Score: 10이 표시됩니다. 그런 다음 ‘확인’을 누르세요.

직접 해보기

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 플레이그라운드