צבור נקודות על מעבר בצינור
חלק מהיחידה פרויקטים במסלול ה-Godot של Coddy. שיעור 27 מתוך 36.
כל צינור שעוברים דרכו שווה נקודה. לצינור יש צומת ילד מסוג Area2D בשם Gap, רצועה צרה מאחורי הפתח. הציפור נוגעת בו רק אחרי שהיא עוברת דרך הפתח, ולכן זה הרגע שבו מקבלים נקודה.
ב־pipe.gd, חברו את האות של צומת הילד דרך $Gap והפעילו את scored:
$Gap.body_entered.connect(_on_gap_body_entered)
func _on_gap_body_entered(body):
scored.emit()ב־main.gd, חברו את scored של כל צינור חדש. הוסיפו אחת ל־score והציגו אותה ב־$HUD/Score. str(score) ממירה את המספר לטקסט. הציגו 0 בתחילת המשחק.
אתגר
בינוניקבל נקודה על כל צינור שאתה עובר.
- ב־
pipe.gd, הוסףsignal scored, חבר את$Gap.body_enteredופלט אתscoredכשגוף נכנס למרווח. - ב־
main.gd, הוסףvar score = 0והצג0ב־$HUD/Scoreבתחילת המשחק. - חבר את
scoredשל כל צינור לפונקציה שמוסיפה אחד ומציגה את הניקוד.
לחץ על "שחק" ועוף דרך מרווח: הניקוד מציג 1. לאחר מכן לחץ על "בדיקה".
נסו בעצמכם
extends Area2D
signal hit
const SPEED = 160
func _ready():
body_entered.connect(_on_body_entered)
func _physics_process(delta):
position.x -= SPEED * delta
if position.x < -60:
queue_free()
func _on_body_entered(body):
hit.emit()
כל השיעורים ביחידה פרויקטים
3פרויקט: המעופף המתנפנף
כוח הכבידה על המעופףנפנף בכנפי המעופףתרגלו בעצמכם: Godot אונליין