Menu
CoddyTech

ניקוד בבריקאאוט

חלק מהיחידה פרויקטים במסלול ה-Godot של Coddy. שיעור 7 מתוך 36.

כל לבנה שווה 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

התווית נמצאת בתוך CanvasLayer בשם HUD. הגדירו גם בה את הערך Score: 0 ב־_ready, אחרת היא תישאר ריקה עד לשבירת הלבנה הראשונה.

challenge icon

אתגר

בינוני

קבל 10 נקודות על כל לבנה.

  1. ב־ball.gd, הוסף signal brick_broken ופלט אותו כשנשברת לבנה.
  2. ב־main.gd, הוסף var score = 0 והצג Score: 0 ב־$HUD/Score בתוך _ready.
  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 אונליין