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

הפעלה מחדש בלחיצת מקש

חלק מהיחידה חוקי המשחק במסלול ה-Godot של Coddy. שיעור 15 מתוך 29.

השורה הזו משליכה את הסצנה וטוענת אותה מחדש מהקובץ שלה:

get_tree().reload_current_scene()

המשחק החדש מתחיל עם שלושה חיים, השחקן על הריבוע הירוק ו־Game Over מוסתר.

גם Main מושהה, ולכן _process שלו לא מזהה את המקש. הגדירו את process_mode של Main עצמו ל־Node.PROCESS_MODE_ALWAYS. הצאצאים שלו יורשים את ההגדרה הזו, מלבד השחקן. הסצנה מגדירה את השחקן למצב שניתן להשהיה, ולכן הוא עדיין נעצר.

טעינה מחדש אינה מבטלת את השהיית המשחק. הגדירו get_tree().paused = false לפני הטעינה מחדש, אחרת המשחק החדש יתחיל כשהוא מושהה.

challenge icon

אתגר

קל

אפשר לשחקן ללחוץ על E כדי לשחק שוב לאחר סיום המשחק:

  1. ב־_ready(), יש להגדיר את process_mode של הצומת הזה ל־Node.PROCESS_MODE_ALWAYS.
  2. ב־_process(), כאשר הערך של lives הוא 0 ולוחצים על action, יש לבטל את השהיית המשחק ולטעון מחדש את הסצנה.

נסו בעצמכם

extends Node2D

var lives = 3

func _ready():
	$HUD/Lives.text = "Lives: %d" % lives
	$Player.hurt.connect(_on_player_hurt)
	$Blink.timeout.connect(_on_blink_timeout)
	$Blink.process_mode = Node.PROCESS_MODE_ALWAYS

func _process(delta):
	pass

func _on_player_hurt():
	lives -= 1
	$HUD/Lives.text = "Lives: %d" % lives
	if lives == 0:
		$HUD/GameOver.visible = true
		$HUD/Hint.visible = true
		get_tree().paused = true

func _on_blink_timeout():
	if lives == 0:
		$HUD/GameOver.visible = not $HUD/GameOver.visible
quiz iconבחנו את עצמכם

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

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

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