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

עשרה צינורות לניצחון

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

השחקן יכול להפסיד, אבל עדיין לא לנצח. כשמגיעים לניקוד 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, ולכן הוא מתעלם מהלחיצה בזמן שהמשחק מושהה.

challenge icon

אתגר

בינוני
  1. כשהניקוד מגיע ל־10, הציגו את You Win! והשהו את המשחק.
  2. כשהמשחק מושהה, לחיצה על מקש הרווח (jump) מבטלת את ההשהיה וטוענת מחדש את הסצנה.

נסו בעצמכם

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)
quiz iconבחנו את עצמכם

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

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

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