Загружаю сцену:
Создаю переменную Scene
Кнопка 1 Загружаю-подключаю
Scene = load("res://Level_1.tscn")
var scene = Scene.instance()
var spat_node = get_node("Spatial")
spat_node.add_child(scene)
|
Кнопка 2 Удаляю-очищаю
var scene_del = get_node("Node//Level_1")
scene_del.queue_free()
|
Но я хочу под одной переменной Scene, загружать разные уровни .tscn
И сразу возникает вопрос, как правильно очистить Scene?
В справке рекомендуется queue_free(), ей я могу удалить только инстанс загруженной сцены.
Если я копирую код выше, но меняю загрузку на Level_2.tscn
И начинаю по очереди загружать-выгружать разные сцены.
То в консоли видно что с каждой подобной загрузкой, увеличивается PackedScene (см. скриншот).
Получается в памяти продолжают висеть объекты. Что логично, я ведь ничего не делаю с Scene.
Вопрос правильно удалять ресурсы? Как полностью очистить Scene что бы загрузить под ней новую?
Какой подход вернее, 1 переменная для загрузки всех уровней, или для каждой своя переменная?
godot_log.webp