מצב עיבוד
חלק מהיחידה חוקי המשחק במסלול ה-Godot של Coddy. שיעור 14 מתוך 29.
משחק מושהה עוצר כל צומת. יש צמתים שצריכים להמשיך לפעול, כמו הודעת Game Over מהבהבת או תפריט השהיה.
המאפיין process_mode של צומת קובע:
Node.PROCESS_MODE_INHERIT: לעשות כמו צומת האב. זוהי ברירת המחדל.Node.PROCESS_MODE_PAUSABLE: לעצור כשהמשחק מושהה.Node.PROCESS_MODE_ALWAYS: להמשיך לפעול, בין שהמשחק מושהה ובין שלא.
$Music.process_mode = Node.PROCESS_MODE_ALWAYSכעת הסקריפט גורם להודעת Game Over להבהב באמצעות Timer שנקרא Blink. ההשהיה עוצרת את הטיימר הזה, ולכן ההודעה לא מהבהבת אף פעם.
אתגר
קלהשאר את Game Over מהבהב בזמן שהמשחק מושהה.
- בתוך
_ready(), קח את טיימרBlink. - הגדר את
process_modeשלו ל-Node.PROCESS_MODE_ALWAYS.
לחץ על "שחק" ואבד שלושה חיים: Game Over מהבהב מעל המשחק הקפוא. ואז לחץ על "בדיקה".
נסו בעצמכם
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)
func _on_player_hurt():
lives -= 1
$HUD/Lives.text = "Lives: %d" % lives
if lives == 0:
$HUD/GameOver.visible = true
get_tree().paused = true
func _on_blink_timeout():
if lives == 0:
$HUD/GameOver.visible = not $HUD/GameOver.visible
כל השיעורים ביחידה חוקי המשחק
תרגלו בעצמכם: Godot אונליין