Menu
CoddyTech
flag He iconעבריתdown icon

התנגש בצינורות

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

פגיעה בצינור או בקרקע אמורה לסיים את המשחק. בשני המקרים מופעלת אותה פונקציה ב־main.gd:

func _on_crash():
	$HUD/Message.text = "Game Over"
	get_tree().paused = true

צינור. הצינור הוא Area2D עם שתי צורות, החצי העליון והחצי התחתון. למרווח אין צורה. ב־pipe.gd, חברו את body_entered ושדרו אות hit. ב־main.gd, חברו את hit של כל צינור חדש לפני הוספתו.

הקרקע. החלק העליון שלה נמצא ב־y = 318. קצה המעופף נמצא במרחק של 12 פיקסלים ממרכזו, ולכן הוא נוגע בקרקע כאשר position.y גדול מ־306. לאחר מכן, flyer.gd משדר את crashed.

המעופף, הצינורות והטיימר ניתנים להשהיה, ולכן ההשהיה עוצרת את כולם.

challenge icon

אתגר

קשה
  1. ב־pipe.gd, הוסף signal hit. חבר את body_entered בתוך _ready ופלט את hit כשגוף נכנס.
  2. ב־flyer.gd, הוסף signal crashed ופלט אותו כאשר position.y גדול מ־306.
  3. ב־main.gd, חבר את hit של כל צינור ואת crashed של המעופף אל _on_crash. הפונקציה מציגה את Game Over ומשהה את המשחק.

נסו בעצמכם

extends Node2D

const PIPE = preload("res://pipe.tscn")

func _ready():
	$PipeTimer.timeout.connect(_on_pipe_timer_timeout)

func _on_pipe_timer_timeout():
	var pipe = PIPE.instantiate()
	pipe.position = Vector2(700, randf_range(100, 250))
	$Pipes.add_child(pipe)
quiz iconבחנו את עצמכם

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

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

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