Când o scenă nouă este încărcată prin get_tree().change_scene_to_file(), toate nodurile din scena veche sunt șterse complet din memorie. Pentru a păstra date permanente (numărul de monede, setările audio, nivelul curent), Godot pune la dispoziție mecanismul Autoload (Singleton): noduri încărcate automat la rădăcina arborelui /root/ care supraviețuiesc tuturor schimbărilor de scenă.
Crearea managerului global GameManager.gd
# Fisier: scripts/GameManager.gd
# (Adăugat în Project Settings -> Globals -> Autoload cu numele 'GameManager')
extends Node
signal scor_schimbat(scor_nou: int)
var scor_curent: int = 0
var volum_sunet: float = 1.0
func adauga_puncte(cantitate: int) -> void:
scor_curent += cantitate
scor_schimbat.emit(scor_curent)
print("[GameManager] Scor actualizat: %d" % scor_curent)
func reseteaza_joc() -> void:
scor_curent = 0
get_tree().change_scene_to_file("res://scene/Nivelul1.tscn")
----------------------------------------------------
# Apelabil de oriunde, din orice scenă fără referințe manuale:
func _pe_inamic_doborat() -> void:
GameManager.adauga_puncte(50)
Întrebări & Exemple de Cod:
Stare Globală și Manageri de Joc prin Autoloads (Singletons) în GodotAi o nelămurire despre utilizarea comenzii
Stare Globală și Manageri de Joc prin Autoloads (Singletons) în Godotsau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!
Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.