התנגש בצינורות
חלק מהיחידה פרויקטים במסלול ה-Godot של Coddy. שיעור 26 מתוך 36.
פגיעה בצינור או בקרקע אמורה לסיים את המשחק. בשני המקרים מופעלת פונקציה אחת ב־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.
המעופף, הצינורות והטיימר מוגדרים כניתנים להשהיה, כך שההשהיה עוצרת את כולם.
אתגר
קשהסיימו את המשחק כשהדמות מתרסקת.
- בקובץ
pipe.gd, הוסיפוsignal hit, חברו אתbody_enteredבתוך_readyופלטו אתhitכשגוף נכנס. - בקובץ
flyer.gd, הוסיפוsignal crashedופלטו אותו כאשרposition.yגדול מ־306. - בקובץ
main.gd, חברו אתhitשל כל צינור ואתcrashedשל הדמות המעופפת אל_on_crash, שמציגה אתGame Overומושהית את המשחק.
לחצו על „שחק” ונפלו: ההודעה 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)
כל השיעורים ביחידה פרויקטים
3פרויקט: המעופף המתנפנף
כוח הכבידה על המעופףנפנף בכנפי המעופףתרגלו בעצמכם: Godot אונליין