ניקוד בברייקאאוט
חלק מהיחידה פרויקטים במסלול ה-Godot של Coddy. שיעור 7 מתוך 33.
כל לבנה שווה 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. הגדירו גם ב־_ready את הערך שלה ל־Score: 0, אחרת היא תישאר ריקה עד לשבירת הלבנה הראשונה.
אתגר
בינוני- ב־
ball.gd, הוסף אתsignal brick_brokenופלט אותו כשלבנה נשברת. - ב־
main.gd, הוסף אתvar score = 0, חבר את$Ball.brick_brokenלפונקציה שמוסיפה 10 ומציגהScore: 10,Score: 20, ... בתוך$HUD/Score. - הצג
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)
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה פרויקטים
1פרויקט: ברייקאאוט
משטח המשחק בברייקאאוטהשארת המשטח על המסךתרגלו בעצמכם: Godot אונליין