Menu
CoddyTech

צבור נקודות על מעבר בצינור

חלק מהיחידה פרויקטים במסלול ה-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 בתחילת המשחק.

challenge icon

אתגר

בינוני

קבל נקודה על כל צינור שאתה עובר.

  1. ב־pipe.gd, הוסף signal scored, חבר את $Gap.body_entered ופלט את scored כשגוף נכנס למרווח.
  2. ב־main.gd, הוסף var score = 0 והצג 0 ב־$HUD/Score בתחילת המשחק.
  3. חבר את 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()

כל השיעורים ביחידה פרויקטים

תרגלו בעצמכם: Godot אונליין