-
Notifications
You must be signed in to change notification settings - Fork 41
components.Scene
компоненты : Scene
Наследуется от Container, и включает в себя все его свойства.
Scene - компонент, который является корневым (root) элементом для игровых (и не игровых) сцен. Thing-Engine поддерживает присутствие в игре множества сцен и переходы между ними, с автоматической динамической загрузкой и выгрузкой ресурсов. В любой момент времени на экране находится одна из сцен, которая является текущей. (Подробнее см. Управление сценами и модальными объектами.)
Свойство name у сцены заблокировано для изменения, и всегда совпадает с именем под которым эта сцена сохранена в библиотеке, для избежания путаницы. К тому же name сцены используется во внутренних механизмах Thing-Engine для управления временем жизни сцен.
Тип: Boolean
Поле управляющее временем жизни сцены. Thing-Engine осуществляет переход между сценами через стек сцен (подробнее см. Управление сценами и модальными объектами.). При переходе в некоторую сцену B, текущая сцена A помещается в стек сцен, и когда сцена B закрывается, то сцена A, верхняя на стеке возвращается на экран. Это позволяет организовать дерево навигации по сценам, c углублением в дерево сцен и возвратом обратно к стартовому экрану или игровому меню. Обычно при закрытии сцены она уничтожается и все присутствующие на ней объекты высвобождаются. Однако, некоторые сцены, могут потребовать сохранения их состояния при возврате в них. Для таких сцен достаточно установить isStatic флаг в редакторе свойств. Статические сцены при закрытии не уничтожаются, а хранятся в памяти. При последующем входе в такую сцену ее существующий экземпляр будет выведен на экран в том виде, каком она была при выходе. Примером такого случая может быть игровой магазин апгрейдов, войти в который можно из множества мест, и при каждом входе нужно помнить какой именно товар игрок выбрал, или в каком разделе магазина находился.
Тип: Boolean
Поле управляющее временем жизни сцены. Thing-Engine осуществляет переход между сценами через стек сцен (подробнее см. Управление сценами и модальными объектами.). NoStackable сцены не помещаются в стек сцен, и уничтожаются сразу при закрытии текущей NoStackable сцены, либо при открытии новой сцены поверх текущей NoStackable сцены. Это бывает полезно для CutScenes (вводных, сюжетных сцен), которые появляются перед стартом уровня, когда при закрытии уровня необходимо вернуться в игровое меню, а не в CutScene.
Тип: 'color'(Fields-Overview#color)
Цвет фона для сцены. Значение данного свойства является числовым, однако в редакторе свойств оно отображается в виде ColorPick кнопки.
Тип: String
Задает эффект перехода между сценами. Как только Thing-Engine получает команду на переход в новую сцену, или закрытие текущей сцены, первым делом на экране появляется специальный анимационный клип MovieClip фейдер, который плавно затеняет экран. В затененном состоянии вызывает смену сцены, и затем плавно открывает новую сцену игроку. Поле faderType представляет из себя выпадающий список, со всеми имеющимися в проекте фейдерами. Для javascript кода это поле хранит строку с именем фейдера. Подробнее про создание фейдеров.
Тип: [Object]
Не отображается в редакторе свойств сцены, и предназначен для обращения к нему из javascript кода.
Это свойство хранит ссылки на все объекты сцены, имеющие имена. Оно позволяет обратиться к любому объекту на сцене без необходимости искать его в иерархии сцены. Это поле не поддерживается в актуальном состоянии во время жизни сцены, а только перед вызовом и после вызова метода init. Если вым в какой-то момент необходимо обновить ссылки на все объекты сцены, вызовите метод сцены _refreshAllObjectRefs(). Который хоть и не документирован отдельно, но является официально поддерживаемым для использования разработчиком.
В режиме разработки, объект all имеет механизм валидации, который выбрасывает ошибку при попытке обратиться к объекту, которого нет на сцене. Либо к объекту, имя которого встречается на сцене более чем один раз. Либо к объекту который присутствовал на сцене при инициализации сцены, но был удаляет во время жизни сцены. Эти проверки добавлены для того, чтобы выявлять ошибки разработки в момент их появления. В финальном билде игры данные проверки отсутствуют. Чтобы проверить наличие в all ссылки с заданным именем, используйте all.hasOwnProperty('object-name')
конструкцию.
Дополнительно, компонент Scene имеет несколько методов, доступных для переопределения в javascript. Эти методы описаны в разделе Разработка Custom сцен.
<- Предыдущая страница Следующая страница ->
Управление сценами и модальными объектами.
Свойства, унаследованные от Container