Skip to content
vasili.kostin edited this page Aug 27, 2021 · 15 revisions

Библиотека ресурсов Lib

Перед использованием модуля Lib в коде javascript необходимо импортировать его следующим образом:

import Lib from "thing-editor/js/engine/lib.js";

Статические методы:

Lib.loadPrefab(prefabName : String)

Возвращаемый тип: DisplayObject

Возвращает новый экземпляр префаба в том виде как он выглядит в библиотеке префабов. Подробнее про работу с префабами


Lib.hasPrefab(prefabName : String)

Возвращаемый тип: Boolean

Проверяет существование префаба, с заданным именем. Подробнее про работу с префабами


Lib.loadScene(sceneName : String)

Возвращаемый тип: Scene

Возвращает новый экземпляр сцены, либо существующий экземпляр, для тех сцен, у которых свойство isStatic установлено в true.

В обычных случаях, обращение к этому методу не требуется. Переход между сценами осуществляется вызовом метода game.showScene(sceneName). Подробнее про управление сценами


Lib.hasScene(sceneName : String)

Возвращаемый тип: Boolean

Проверяет существование сцены с заданным именем. Подробнее про работу со сценами


Lib.hasSound(soundId : String)

Возвращаемый тип: Boolean

Проверяет существование в проекте звука, с указанным идентификатором. Идентификатором звука является путь к звуковому файлу, без расширения, начиная от папки '/snd/' в директории проекта. Подробнее про работу со звуком


Lib.preloadSound(soundId : String)

Возвращаемый тип: Boolean

Начинает загрузку звука с указанным идентификатором, в том случае, если звук не был загружен ранее. Возвращает true если загрузка звука стартовала.

В Thing-Editor для каждого звука в проекте может быть установлен режим его загрузки с сервера. Вызов метода Lib.preloadSound имеет смысл для звуков с отложенной загрузкой. Вызов следует делать в onShow методе сцены, в которой планируется использовать данный звук. При этом фейдер сцены будет дожидаться окончания загрузки для всех загружаемых звуков. Подробнее про работу со звуком


Lib.hasTexture(imageId : String)

Возвращаемый тип: Boolean

Проверяет существование в проекте изображения, с указанным идентификатором. Идентификатором изображения является путь к файлу изображения начиная от '/img/' папки в директории проекта.


Lib.getTexture(imageId : String)

Возвращаемый тип: PIXI.Texture

Возвращает текстуру по её имени. Данный метод используется в Thing-Engine для получения текстуры для спрайта по значению поля Sprite.image.

Обычно, использование этого метода в коде игры не требуется. Получить текстуру, используемую в данный момент спрайтом, можно через свойство texture, унаследованное Thing-Engine компонентами от классов PIXI, а присваивать текстуру спрайту лучше всего присвоив ее идентификатор свойству image


Lib._loadClassInstanceById(className : String)

Возвращаемый тип: DisplayObject

Возвращает экземпляр класса. Имя класса определяется параметром className. Класс должен являться либо одним из встроенных компонентом Thing-Editor, либо custom компонентом созданным разработчиком (Подробнее: Создание Custom компонентов.

Отличие использования данного метода для получения экземпляра класса, от вызова конструктора через кочевое слово new MyClass() заключается в нескольких моментах:

  • при наличии существующего экземпляра данного класса в пуле объектов, будет возвращен этот экземпляр. Новый экземпляр будет создан только если пул объектов данного класса пуст. (Подробнее о пулинге объектов).
  • редактируемым полям возвращаемого экземпляра будут присвоены значения по умолчанию.
  • у возвращаемого экземпляра будет вызван метод инициализации init().

Создание экземпляров класса редко бывает необходимым в Thing-Engine. Предпочтительнее использовать Lib.loadPrefab, так как это позволяет заранее определять свойства и вложенную иерархию создаваемого объекта, в визуальном редакторе.

<- Предыдущая страница Следующая страница ->

Связанные темы:

Пулинг экранных объектов

Работа с префабами

Работа со звуковыми ресурсами

Работа с изображениями

Работа со сценами

Общая информация для Javascript разработчика

Clone this wiki locally