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