עשרה צינורות לניצחון
חלק מהיחידה פרויקטים במסלול ה-Godot של Coddy. שיעור 28 מתוך 36.
השחקן יכול להפסיד, אבל עדיין לא לנצח. כשהניקוד מגיע ל־10, הצג You win! והשהה את המשחק. בדוק זאת במקום שבו הניקוד עולה:
if score == 10:
$HUD/Message.text = "You win!"
get_tree().paused = trueלבסוף, אפשר לשחק שוב. כשהמשחק מושהה, מקש הרווח טוען מחדש את הסצנה. Main מוגדר כ־Always, ולכן _process שלו עדיין פועל:
func _process(delta):
if get_tree().paused and Input.is_action_just_pressed("jump"):
get_tree().paused = false
get_tree().reload_current_scene()מקש הרווח משמש גם כמקש הנפנוף. האובייקט המעופף מוגדר כ־Pausable, ולכן הוא מתעלם מהלחיצה בזמן שהמשחק מושהה.
אתגר
בינונינצחו בעשרה צינורות ושחקו שוב.
- כשהניקוד מגיע ל־
10, הציגוYou win!ב־$HUD/Messageוהשהו את המשחק. - כשהמשחק מושהה, מקש הרווח (
jump) מבטל את ההשהיה וטוען מחדש את הסצנה.
לחצו על "שחק" ועברו דרך עשרה צינורות: ההודעה You win! תופיע. לחצו על מקש הרווח כדי להתחיל שוב. לאחר מכן לחצו על "בדיקה".
נסו בעצמכם
extends Node2D
const PIPE = preload("res://pipe.tscn")
var score = 0
func _ready():
$PipeTimer.timeout.connect(_on_pipe_timer_timeout)
$Flyer.crashed.connect(_on_crash)
$HUD/Score.text = "0"
func _on_pipe_timer_timeout():
var pipe = PIPE.instantiate()
pipe.position = Vector2(700, randf_range(100, 250))
pipe.hit.connect(_on_crash)
pipe.scored.connect(_on_scored)
$Pipes.add_child(pipe)
func _on_crash():
$HUD/Message.text = "Game Over"
get_tree().paused = true
func _on_scored():
score += 1
$HUD/Score.text = str(score)
השיעור הזה כולל חידון קצר. התחילו את השיעור כדי לענות עליו ולעקוב אחרי ההתקדמות.
כל השיעורים ביחידה פרויקטים
3פרויקט: המעופף המתנפנף
כוח הכבידה על המעופףנפנף בכנפי המעופףתרגלו בעצמכם: Godot אונליין