Skip to content

Error Messages

vasili.kostin edited this page Aug 23, 2021 · 29 revisions

Сообщения об ошибках и предупреждения Thing-Editor

В Thing-Editor имеется множество проверок, которые помогают выявлять ошибки как в разрабатываемой игре, так и в самом редакторе. В случае, если одна из проверок не выполняется, в редакторе будет отображено окно с сообщением об ошибке, содержащее код ошибки, либо сообщение об ошибке или предупреждение в окне статуса.

При клике по ошибке в окне статуса, будет совершен автоматический переход к объекту сцены, и редактируемому полю, в котором проблема была обнаружена. При исправлении проблемы, ошибка не скрывается из окна статуса автоматически. Необходимо закрывать исправленные ошибки вручную.

Отображение предупреждений, не являющихся критическими, можно отключить в настройкой проекта __suspendWarnings в файле настроек thing-project.json.

Ошибки, не имеющие своего кода ошибки являются внутренними ошибками игрового редактора и сигнализируют об ошибке допущенной разработчиками Thing-Engine, либо о том, что разработчик использует недокументированные методы при разработке игры. Сообщить о таких ошибка вы можете а разделе Issues. Приложите полный текст сообщения об ошибке и информацию об ошибке из консоли браузера, включая стек вызовов, иначе исправление ошибки окажется затруднительным.

Все ошибки выводят подробную информацию в консоль вывода DeveloperTools браузера (F12). Проверяйте консоль вывода при обнаружении любой непонятной ошибки.

Обычно, при возникновении любой из ошибок, выбрасывается исключение непосредственно в месте возникновения ошибки. Рекомендуется, при разработке Custom компонентов, работать в Thing-Editor со включенным отладчиком и включенной остановкой на исключениях javascript. Либо запускать Thing-Editor из VSCode, со включенной остановкой на исключениях javascript

В данном разделе описаны все ошибки, которые могут возникнуть в процессе разработки игры, и советы по их устранению.

Ошибки при разработке

10001

invalid value for .... Valid number value expected

Попытка присвоения числовому свойству объекта не числового значения либо NaN. Название свойства будет отображено в сообщении об ошибке.


10002

Attempt to remove system node ...

Попытка удалить системный контейнер Thing-Engine, защищенный от удаления. Возможно, в пути обработчика событий указано слишком много .parent узлов.


10003

Attempt to destroy system node ...

Попытка вызвать PIXI метод destroy для системного контейнера Thing-Engine, защищенного от уничтожения. Возможно, в пути обработчика событий указано слишком много .parent узлов. Следует заметить, что вызов метода 'destroy' не нужен для любого экранного объекта созданного в Thing-Engine. В место этого используйте метод remove.


10004

Attempt to detachFromParent system node ...

Попытка отсоединить от родителя системный контейнер Thing-Engine, защищенный от удаления. Возможно, в пути обработчика событий указано слишком много .parent узлов.


10005

Empty name received

Пустое имя указано при поиске дочерних объектов.


10006

More that one element with name "..." exists

При поиске объекта по имени было обнаружено более одного объекта с данным именем. Скорее всего при редактировании сцены по ошибке было создано два объекта с одним именем. Переименуйте один из них.


10007

Attempt to create Delay.delay() in editing mode

Вызов метода Delay.delay, в то время, когда игра не была запущена на исполнение. Метод Delay.delay можно вызывать только из игровых методов, работающих во время исполнения игры, либо из обработчиков событий компонентов.


10008

Delay.delay(). Function expected as first parameter, but ... received.

При вызове метода Delay.delay, первым аргументом ожидалась функция, но было получено значение другого типа.


10009

Delay.delay(). Number expected as second parameter, but ... received.

При вызове метода Delay.delay, вторым параметром ожидалось число, но было получено значение другого типа.


10011

Attempt to call FlyText.flyText() in editing mode

Вызов метода FlyText.flyText, в то время, когда игра не была запущена на исполнение. Метод Delay.delay можно вызывать только из игровых методов, работающих во время исполнения игры.


10010

FlyText.flyText() can be invoked only after first scene has been shown

Вызов метода Delay.delay был совершен до того, как первая сцена была отображена.


10011

FlyText instance expected

При создании взлетающего текста был использован префаб, корневой объект которого имеет не FlyText тип.


10012

Numeric value expected, but got '...'

Метка Label, со включенным свойством isNumeric, привязана к нечисловому значению, либо в метод Label.formatMoney, передано не числовое значение.


10013

textView points to prefab which is not 'Text' and contains no 'Text'. Prefab name: ...

Поле textView компонента NumberInput указывает на префаб, который не является объектом Text и в котором отсутствует объект Text, необходимый для отображения числового значения на экран.

Либо в textView указан неправильный префаб, либо Text объект был удален или не добавлен в префаб.


10017

Scene`s "all" object vas not initialized yet. You can not use "all" before call super.init().

Попытка обращения к "карте объектов сцены" all, до того как она была инициализирована (заполнена ссылками на объекты). Инициализация all происходит в init методе сцены, поэтому обращение к all из переопределенного метода сцены init возможно только после вызова базового super.init() метода.


10018

Attempt to access to scene object 'all.xxxxx' Reference is empty: ...

Попытка обращения к объекту сцены через "карту объектов сцены" all, в то время как объект с таким именем не зарегистрирован. Имя, по которому обращение было совершено, будет указано в сообщении об ошибке.

Создание карты объектов сцены all происходит при инициализации сцены, объекты добавленные на сцену позже, во время работы игры в all не попадают.


10019

Attempt to access to object 'all.xxxxx'. But " + refsWithThanNameCount + " object with that name present on scene

Попытка обращения к объекту сцены через "карту объектов сцены" all, в то время как более одного объекта с таким именем зарегистрировано. Имя, по которому обращение было совершено, будет указано в сообщении об ошибке.

Скорее всего на сцене было создано два объекта с одним и тем же именем, один из которых должен быть доступен по имени глобально. Найдите и переименуйте один из объектов. Для поиска можно воспользоваться поиском по дереву сцены.


10020

Attempt to access to scene object 'all.xxxxx'. Reference to object is presents, but this object was removed from scene already. Use 'all' path only for objects which never deleted from scene.

Попытка обращения к объекту сцены через "карту объектов сцены" all, который был удален со сцены. Имя, по которому обращение было совершено, будет указано в сообщении об ошибке. Используйте обращение к объектам сцены через all, только для объектов которые никогда не удаляются со сцены.

Создание карты объектов сцены all происходит при инициализации сцены, объекты удаленные со сцены позже, во время работы игры из all не удаляются.


10021

Attempt to access to scene object 'all.xxxxx'. Reference to object is presents, but this object was removed from scene already. Use 'all' path only for objects which never deleted from scene.

Попытка обращения к объекту сцены через "карту объектов сцены" all, который был удален со сцены. Имя, по которому обращение было совершено, будет указано в сообщении об ошибке. Используйте обращение к объектам сцены через all, только для объектов которые никогда не удаляются со сцены.

Создание карты объектов сцены all происходит при инициализации сцены, объекты удаленные со сцены позже, во время работы игры из all не удаляются.


10022

texture's String ID expected

Попытка присвоить свойству image неправильное значение. image принимает в качестве значения текстовую строку, с именем одного из изображений, имеющихся в проекте.


10023

Tilemap can not has children. For on map objects please create additional container.

Попытка добавить дочерний объект тайловой карте Tilemap. Запрещено добавлять дочерние объекты напрямую в тайловую карту. Необходимо создать контейнер рядом с тайловой картой и добавлять дочерние объекты в него.


10024

applyInstantly() could not be called in editor mode.

Вызов метода applyInstantly, объекта Trigger в то время, когда игра не была запущена на исполнение. Метод applyInstantly() можно вызывать только из игровых методов, работающих во время исполнения игры.


10025

Can't find ... in callback ...

Не верно указан путь к функции - обработчику событий (Подробнее см. Callback редактор). В отличии от пути к данным (Data-Path редактор), путь к функции должен указывать на существующее значение. В сообщении об ошибке будет указано имя свойства, на котором поиск функции прервался, и полный путь.


10026

'this' argument is not provided in to 'callByPath'.

При вызове метода callByPath не указан второй параметр. В качестве этого параметра необходимо передать экранный объект, относительно которого будет выполняться поиск функции для ее вызова.


10027

Empty callByPath string

При вызове метода callByPath указан пустой путь к функции.


10028

'this' argument is not provided in to 'getValueByPath'

При вызове метода getValueByPath не указан второй параметр. В качестве этого параметра необходимо передать экранный объект, относительно которого будет выполняться поиск переменной.


10029

Empty data source path string

При вызове метода getValueByPath указан пустой путь к переменной.


10030

'this' argument is not provided in to 'setValueByPath'

При вызове метода setValueByPath не указан третий параметр. В качестве этого параметра необходимо передать экранный объект, относительно которого будет выполняться поиск переменной, значение которой будет установлено.


10031

Empty setValueByPath string

При вызове метода setValueByPath указан пустой путь к переменной.


10032

Can't find ... in setValueByPath ...

При вызове метода setValueByPath не верно указан путь к переменной, значение которой должно быть установлено. В отличии от пути к читаемой переменной (Data-Path редактор), путь к устанавливаемой переменно должен указывать на существующий объект, свойством которого переменная является. В сообщении об ошибке будет указано имя свойства, на котором поиск переменной прервался, и полный путь.


10033

game.faderShoot() called not by fader.

Вызов метода game.faderShoot, должен вызываться из текущего активного фейдера, как сигнал готовности фейдера к смене сцены. Данная ошибка возникает если вызвать faderShoot не из фейдера.


10034

game.faderShoot() already called for this fader

Повторный вызов game.faderShoot для данного фейдера.

Скорее всего, ключевой кадр анимации, содержащий вызов данного метода, был ошибочно продублирован на шкале анимации, присутствующей в фейдере.


10035

Can't close latest scene

Метод game.closeCurrentScene вызван в то время, когда игрок находился в корневой сцене игры. Корневую сцену нельзя закрыть.


10036

Attempt to show not DisplayObject as modal

В метод game.showModal был передан объект, который не является экранным объектом, либо именем префаба.


10037

Scene can not be used as modal

В метод game.showModal был передана сцена. Сцены нельзя использовать в качестве модальных объектов.


10038

Attempt to hide modal when modal list is empty

В метод game.hideModal был вызван, в то время, когда на игровом экране не было ни одного модального объекта.


10039

Attempt to hide modal object which is not in modal list

В метод game.hideModal был вызван с указанием конкретного объекта, однако, переданный объект не является модальным объектом находящимся на игровом экране в данный момент.


10041

Access to outdated reference "..." in class "..." detected. Please clear reference in onRemove method

Обнаружено обращение к экранному объекту, ссылка на который была присвоена в "прошлой жизни" объекта. Имя свойства, в котором хранилась устаревшая ссылка и имя класса будут указаны в сообщении об ошибке. Необходимо добавить очистку такого свойства в методе onRemove:

export default class MyClass extends Container {

	init() {
		super.init();
		this.myObjectReference = game.all['some-object'];
	}

	onRemove() {
		this.myObjectReference = null; // clear reference here
		super.onRemove();
	}
}

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

Возможно, обращение к свойству, указывающему на экранный объект совершено после вызова метода remove().


10042

Class ... overrides init method without super.init() called

Метод init объявлен без вызова базового метода super.init(). Имя класса в котором обнаружена ошибка будет показано в сообщении об ошибке.

Файл, в котором обнаружена проблема, будет автоматически открыт для редактирования в редакторе по умолчанию, настроенному для '.js' файлов.


10043

No sound with id '...' found

В метод Lib.preloadSound был передан id несуществующего звука.


10044

No prefab with name '...' registered in Lib

В метод Lib.loadPrefab было передано имя несуществующего префаба. Переданное имя будет отображено в сообщении об ошибке.

Правильное имя префаба можно скопировать из окна префабов, кликнув по имени нужного префаба с зажатой клавишей Ctrl.


10045

onRemove method without super.onRemove() detected in class '...'

Метод onRemove объявлен без вызова базового метода super.onRemove(). Имя класса в котором обнаружена ошибка будет показано в сообщении об ошибке.

Файл, в котором обнаружена проблема, будет автоматически открыт для редактирования в редакторе по умолчанию, настроенному для '.js' файлов.


10046

No scene with name '...'

В метод showScene было передано имя сцены, несуществующей в проекте. Имя сцены будет показано в сообщении об ошибке.


10047

Attempt to show modal in editor mode: ...

В метод showModal вызван в то время, когда игра не была запущена на выполнение.


10048

... did not clean reference to display object in field "...". Please null this field in onRemove method, or add "ref" descriptor for this field (click to copy fix-js and open class source code.).

При удалении Custom объекта в одном из его свойств обнаружена ссылка на другой экранный объект. Тип объекта и имя поля, в котором обнаружена ссылка будут указаны в сообщении. Необходим о добавить очистку этого поля в onRemove метод данного объекта, либо добавить редактируемое поле с типом 'ref', которое будет чистить ссылку при повторном использовании объекта (см. Пулинг экранных объектов).

При клике по данному уведомлению, исходный файл Компонента будет открыт для редактирования, а в буфер обмена будет скопирован дескриптор редактируемого поля, который можно вставить в блок описания редактируемых полей компонента.


10049

Property "..." vas assigned to .. and not cleared. Please clear reference in onRemove method if you assigned it.

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

Данное предупреждение возникает, когда в javascript коде, одному из объектов сцены, который является встроенным в Thing-Engine компонентом, в одно из свойств присваивается ссылка на другой объект, и эта ссылка не очищается при удалении объекта.

Необходимо найти в каком месте вашего javascript кода присваивается данная ссылка, и добавить ее очистку в onRemove методе.

Рекомендуется не присваивать ссылки встроенным компонентам, так как это усложняет отладку игры. Простейшим решением может быть создание Custom компонента, унаследованного от встроенного компонента, в котором необходимо хранить ссылку, и очищать эту ссылку в onRemove методе созданного Custom компонента.


10050

Class validation error. ... throws error if filed ... assigned first

При загрузке пользовательских компонентов, Thing-Editor автоматически производит несколько проверок компонентов на возможные ошибки. Данное сообщение говорит о том, что в сеттере одного из редактируемых свойств загруженного компонента возникает ошибка, если присвоить значение данному свойству раньше, чем остальным свойствам. Необходимо добавить проверку для в сеттер такого свойства, так как порядок присвоения значений свойствам не гарантируется.


10051

Class validation error. ... throws error in constructor

При загрузке пользовательских компонентов, Thing-Editor автоматически производит несколько проверок компонентов на возможные ошибки. Данное сообщение говорит о том, что при попытке создать объект возникает исключение при вызове метода constructor.


10052

getChildByName called, but more that one object with name '...' present in container ...

Метод getChildByName рассчитан на возвращение одного дочернего объекта с заданным именем. Для предотвращения возможных ошибок при разработке игры, Thing-Editor проверяет существование в контейнере других объектов с тем же именем, которые, с большой вероятностью были добавлены по ошибке.


10053

DisplayObject inherited class expected

Метод findChildrenByType принимает в качестве аргумента класс, унаследованный от DisplayObject. Данное сообщение говорит о том, что переданный класс не отвечает данному условию.


10054

Name expected

Пустое имя было передано в качестве аргумента.


10055

Label '...' not found

В метод gotoLabel было передано имя метки, которое отсутствует в данном MovieClip.


10056

Two or more arguments expected for method gotoRandomLabel

Метод gotoRandomLabel требует как минимум два аргумента - имен меток для случайного перехода. Вызов метода с меньшим количеством меток не имеет смысла.


10057

Attempt to create SceneLinkedPromise.promise() in editing mode

Метод SceneLinkedPromise.promise был вызван в то время, когда игра не была запущена на выполнение.


10058

SceneLinkedPromise is resolved already

При использовании SceneLinkedPromise метод resolve или reject был вызван для SceneLinkedPromise который уже был разрешен ранее.


10059

SceneLinkedPromise is resolved already

При использовании SceneLinkedPromise метод resolve или reject был вызван для SceneLinkedPromise который уже был отвергнут ранее.


10060

SceneLinkedPromise expected

В метод SceneLinkedPromise.all метод был передан массив, один из элементов которого не является SceneLinkedPromise.


10061

SceneLinkedPromise was removed before its resolved or rejected

Данное предупреждение говорит о том, что SceneLinkedPromise был удален со сцены, до того как он был разрешен. Предупреждение носит информационный характер.


10062

Request's owner display object should be provided

В метод [SceneLinkedRequest.fetch] не был передан обязательный параметр owner.


10063

Request's URL should be provided

В метод [SceneLinkedRequest.fetch] не был передан обязательный параметр url.


10064

format expected to be one of: "json", "text", "blob", "arrayBuffer"

В метод [SceneLinkedRequest.fetch] был передан параметр resultFormat, имеющий недопустимое значение. Необходимо указать одно из текстовых значений: "json", "text", "blob" или "arrayBuffer".


10065

width property was assigned but not cleared to zero on object disposing

Объекты сцены в Thing-Editor не имеют редактируемого поля width, однако, присвоение ему значения отличного от нуля из javascript кода может привести к артефактам и непредсказуемому поведению из-за пулинга объектов. Необходимо присваивать полю width нулевое значение в методе onRemove, если выш компонент присваивает ему значения в течении жизни.


10066

width property was assigned but not cleared to zero on object disposing

Объекты сцены в Thing-Editor не имеют редактируемого поля height, однако, присвоение ему значения отличного от нуля из javascript кода может привести к артефактам и непредсказуемому поведению из-за пулинга объектов. Необходимо присваивать полю height нулевое значение в методе onRemove, если выш компонент присваивает ему значения в течении жизни.


10067

dynamicPrefabName "..." refers to empty value

Поле dynamicPrefabName указывает на пустое значение. Значение должно возвращать имя префаба.


10068

Error during scene "..." loading

При загрузке сцены произошла ошибка в коде сцены, либо в коде одного из её дочерних объектов.


10069

Attempt to override function in setValueByPath

В метод setValueByPath был передан путь, указывающий на функцию, что с большой вероятностью является ошибкой. Thing-Editor не допускает затирания функций.


10070

Wrong "additionalContainers" entry: '...'

Свойство additionalContainers объекта ClickOutsideTrigger, содержит путь, указывающий на значение, которое не является экранным объектом. Необходимо исправить, либо удалить неправильный путь. Возможно, что значение содержит лишнюю запятую.


10071

OrientationTrigger`s "handlerName" handler has value "this.update", but only "this.parent.update" is possible, and if OrientationTrigger is last children only.

Иногда, при пересчете позиции элемента при смене размеров игрового экрана, требуется немедленный вызов update метода, например для того, чтобы значения меток Label применились без возможной видимой задержки в один кадр. Удобно реализовать такое поведение добавлением пустого OrientationTrigger, вызывающего update метод в его onPortrait и onLandscape обработчиках событий. Однако, вызов update может иметь непредсказуемые результаты, если не для всех дочерних объектов контейнера успел отработать метод _onRenderResize. Для избежания возможных проблем, в Thing-Editor добавлено правило, по которому вызывать update из OrientationTrigger, можно только у родителя, и только если OrientationTrigger является последним дочерним объектом в списке. Это правило никак не ограничивает применение триггера, и лишь избавляет разработчика от непредвиденного поведения объектов.


10072

OrientationTrigger`s "' + handlerName + '" handler has value "this.parent.update", but it is not last children of parent. Please move this OrientationTrigger to the end of the list.

Подробно причины возникновения данной ошибки описаны в родственной ошибке 10071. В данном случае необходимо переместить OrientationTrigger объект в конец списка дочерних объектов. Для этого воспользуйтесь кнопкой Bring selected down в окне дерева сцены.


10073

Promise is already finished.

Данная ошибка сигнализирует о попытке вызвать then, catch или finally метод, для уже отработавшего SceneLinkedPromise объекта. Для избежания подобных ошибок - добавляйте обработчики непосредственно в момент создания SceneLinkedPromise.


10074

Scenes remove() method should not be called. Use game.closeCurrentScene() method instead.

Thing-Editor имеет специальный механизм управления переходами между сценами, прямое добавление и удаление сцен, как обычных экранных объектов не требуется. Используйте методы game.closeCurrentScene, game.closeAllScenes, game.replaceScene для выхода из текущей сцены, вместо вызова метода scene.remove().


10075

textTransform is set for label which shows numeric value. Please set it to "none" to avoid senseless processing.

Числа не имеют заглавного и строчного написания, поэтому для меток отображающих чистые числовые значения - использование свойства textTransform, работающего с регистром тексте, лишено смысла. Установите значение этого свойства в none. Клик по ошибке перенесет фокус ввода на нужное поле.

Критические ошибки

Ошибки, возникающие во время исполнения игры, которые могут привести к нарушению работы редактора и повреждению данных, редактируемой в данный момент сцены, требуют перезагрузки страницы. После перезагрузки сцены разработчику будет предложено восстановить сцену из бекапа, созданного перед последним запуском сцены на выполнение, либо удалить этот бекап, и загрузить последнюю сохраненную версию сцены.

20001

Exception on game stopping

Остановка игры в редакторе была завершена с ошибкой. Это может быть исключение в onRemove методе одного из ваших Custom компонентов, находившихся на экране. Либо ошибка в коде самого игрового редактора. Проверьте консоль браузера для получения деталей.


20002

Exception on game starting

Запуск игры в редакторе был завершен с ошибкой. Это может быть исключение в init методе одного из ваших Custom компонентов, находившихся на экране. Либо ошибка в коде самого игрового редактора. Проверьте консоль браузера для получения деталей.


20003

Exception on frame update

Обновление игровой логики было завершено с ошибкой. Это может быть исключение в update методе одного из ваших Custom компонентов, находившихся на экране. Либо ошибка в коде самого игрового редактора. Проверьте консоль браузера для получения деталей.


20004

Thing-editor already launched

Другое окно с Thing-Editor уже запущено. Данная вкладка может быть закрыта.


20005

Page can be closed now

Серверная часть редактора закрыта или остановилась с ошибкой. Смотрите вывод в консоль сервера Thing-Editor, если вы не останавливали его. Вкладка Thing-Editor может быть закрыта.

Ошибки при работе с редактором

30001

Wrong component name provided

Введено неправильное имя для создаваемого компонента. Скорее всего символ разделения папки '/' был указан в конце имени.


30002

Class name can not start with digit or "_"

Введено имя для создаваемого компонента, начинающееся с цифрового символа или знака подчеркивания.


30003

Component with name '...' already exists

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


30004

soundFormats has unsupported format entry: ...

В настройке проекта soundFormats обнаружен неподдерживаемый тип файла. Поддерживаемые форматы: 'webm', 'ogg', 'mp3', 'weba', 'aac'.


30005

To unwrap prefab it is should have exactly one children.

Ошибка возникает при попытке удалить корневой объект префаба (См. операция Unwrap), в то время как корневой объект префаба имеет более одного дочернего объекта.

Так как у префаба может быть только один корневой элемент, нельзя удалить корневой элемент если на его месте останется более одного объекта.


30006

Build errors: ...

Данная ошибка говорит о наличии ошибок при сборке билда игры webpack сборщиком. Ошибки будут отображены в сообщении.

Ошибки сборки могут возникать при неправильных настройках сборки, или ошибках в javascript коде игры.


30007

Sounds processing ffmpeg lib error. ...

Ошибка конвертации звуков. Подробности ошибки будут отображены в сообщении.

Данная ошибка может возникать если в системе не установлена библиотека ffmpeg, либо она не доступна глобально из командной строки, либо один или несколько 'wav' файлов в папке /snd имеют неверный формат.


30008

class ... overrides existing class [System class] ... . Please change your class name.

Один из Custom компонентов имеет имя, совпадающее со встроенным компонентом или другим Custom компонентом. Имя компонента будет указано в сообщении. Необходимо переименовать ошибочно проименованный Custom компонент.


30009

Attempt to load: ... : ... Please fix error in source code and press button to try again

В .js файле загружаемого Custom компонента обнаружена ошибка, необходимо исправить ошибку и повторить загрузку. Детали ошибки будут указаны в сообщении, либо в консоли DevTools (F12) браузера.

Файл, в котором обнаружена проблема, будет автоматически открыт для редактирования в редакторе по умолчанию, настроенному для '.js' файлов.


30010

Wrong value for "screenOrientation". "auto", "landscape" or "portrait" expected

В настройке проекта screenOrientation обнаружено неподдерживаемое значение. Поддерживаемые значения: "auto", "landscape" or "portrait.


30011

Check browser's status bar to allow automatic opening after build

По умолчанию, браузер блокирует всплывающие окна. Для того чтобы игра открывалась автоматически при окончании сборки билда, необходимо разрешить всплывающие окна в строке статуса браузера.


30012

Selected object should have same parent to be wrapped

Операция Wrap работает только в том случае, если выделенные объекты находятся в одном контейнере. Объекты находящиеся в разных контейнерах необходимо выделять и оборачивать по очереди.


30013

Scene can not be wrapped, you can change scene's type instead.

Операция Wrap не может быть произведена над сценой, так как сцена должна оставаться корневым объектом. Возможно, вам нужно сменить тип у текущей сцены, вместо оборачивания.


30014

Looks like you stopped on caught exception, probably you need to disable 'stop on caught exception' option in your debugger.

Данное предупреждение возникает в том случае, когда отладчик останавливает выполнение javascript в момент ошибки, возникшей внутри блока try-catch. Возможно, вам нужно отключить остановку на перехваченных ошибках в настройках отладчика подробнее.


30015

Can not select object, because it is hidden by parent ...

Данное предупреждение возникает при попытке выделить на сцене объект, который не отображается в дереве сцены. Например, PrefabReference не отображает контент префаба в дереве сцены, однако он видим на экране. В такой ситуации, если один из объектов, находящихся внутри префаба, отобразит в строке статуса предупреждение, то при клике по такому предупреждению будет осуществлена попытка выделить объект в дереве сцены, что окажется не возможным.


30016

Could not change '...' fields value, because '...' field is animated and its type is not numeric

Данное предупреждение возникает при попытке изменить значение нечислового редактируемого поля у объекта MovieClip, в то время как поле имеет анимацию, a редактор анимаций скрыт. У числовых полей, в такой ситуации, анимация полностью сдвигается на величину, на которую значение поля было изменено, однако, для полей имеющих нечисловой тип - подобная операция невозможна. В данной ситуации необходимо включить Редактор анимаций (Timeline) (Ctrl + L), и повторить редактирование поля, тогда это редактирование будет записано в анимацию. Либо настроить значение поля __previewFrame таким образом, чтобы объект MovieClip получил нужное состояние предпросмотра.


30017

Can not clone root object

Сообщение возникает при попытке клонирования корневого объекта (непосредственно сцены, либо корневого узла префаба) чрез перетаскивание объекта с зажатой клавишей Alt. Клонирование доступно только для дочерних объектов сцены или префаба.


30018

Value of PrefabReference property "..." was changed to ... because its refers to MovieClip where animation starts with that value

Уведомление об автоматическом изменении одного из свойств объекта PrefabReference, которое было произведено для приведение в соответствие значения поля со стартовым значением анимации в префабе. Дополнительные действия не требуются.


30019

action call: ...; timeline time: ...

Данное сообщение является отладочным, и возникает когда в объекте MovieClip, с включенным логированием __logLevel, срабатывает callback в одном из ключевых кадров анимации.


30020

gotoLabel: ...; time: ...

Данное сообщение является отладочным, и возникает когда в объекте MovieClip, с включенным логированием __logLevel, происходит переход на метку.


30021

CANCELED label: ...; time: ...

Данное сообщение является отладочным, и возникает когда в объекте MovieClip, с включенным логированием __logLevel, происходит отмена перехода на метку из-за перехода на другую метку (переход на метку перезатирается).


30022

vscode integration extension error.

Ошибка возникает в том случае, когда VScode не отвечает на запросы. Возможно что расширение Thing-Editor integration не установлено, либо требуется перезапуск vscode. Если вы не используете vscode - добавьте no-vscode-integration аргумент в строку запуска редактора:

node index.js no-vscode-integration

и если клиентская часть запускается отдельно - добавьте этот параметр в url:

http://127.0.0.1:32023/thing-editor/#no-vscode-integration

30023

Object has zero scale and can not be moved without affecting children`s positions.

Сообщение сигнализирует о попытке переместить контейнер с зажатой клавишей Ctrl (подробнее. При этом сам контейнер, либо один из его родителей - имеет scale.x либо scale.y равные 0, что делает невозможным расчет правильной глобальной позиции для его дочерних объектов. Необходимо либо временно установить контейнеру не нулевой масштаб, либо установить правильное значение свойству __previewFrame, если контейнер имеет тип MovieClip.


30024

Sound file '...' has no .wav version. Click to delete.

Сообщение сигнализирует об обнаружении в папке snd звукового файла, имеющего тип отличный от wav. Что может привести к невозможности воспроизведения такого звука в финальном билде игры. Необходимо добавлять звуки в формате wav, все остальные необходимые форматы будут сгенерированы автоматически. Подробнее


31001

Can not load script; Please check Browser's console for error details, and fix problem to continue

При загрузке Custom компонентов возникла ошибка.

Скорее всего, данная ошибка связана с неправильно указанным путем импорта модуля в файле одного из Custom компонентов. Детали ошибки можно найти в консоли браузера (F12). Требуется исправить ошибку в javascript коде компонента, либо удалить файл Custom компонента.

Предупреждения и уведомления

32001

...

Ошибка валидации значения поля. Необходимо исправить значение поля. Ожидаемое значение будет описано в тексте сообщения.


32002

Invalid enum value: ...

Редактируемое поле имеет значение, отсутствующее в выпадающем списке этого поля. Такая ситуация возникает, если из выпадающего списка было удалено значение, а в экранном объекта это значение было выбрано и сохранено ранее. Необходимо выбрать новое, существующее значение этому полю.


32003

Movie clip has no timeline

Обнаружен объект MovieClip, у которого отсутствует анимация. MovieClip без анимации не имеет смысла, поэтому, необходимо либо добавить ему анимацию, либо сменить тип объекта на DSprite, который имеет все свойства MovieClip, кроме анимации.


32004

Number input refers to not numeric value ...

Объекту NumberInput в поле datapath указан путь к переменной, значение которой не является числовым. Необходимо указать путь к другой переменной, являющейся числовой, либо сменить значение переменной исправив javascript код, который эту переменную инициализирует.


32005

Prefab to spawn is not selected

Объекту Spawner не установлен Префаб, который должен спавниться. Необходимо выбрать префаб из выпадающего списка.


32006

Prefab with name "..." is not exists

Объекту Spawner установлен несуществующий Префаб. Необходимо указать корректный префаб из выпадающего списка.


32007

Spawner targeted to not existing container: ...

Объекту Spawner, в редактируемом поле container, задан путь к несуществующему контейнеру. Необходимо указать другой контейнер.


32008

Sound "..." is not preloaded. Please check-on preloading mode for this sound, or use Lib.preloadSound("..") in scene`s onShow() method before using this sound

Произведена попытка воспроизвести звук, который не был загружен. Необходимо либо установить этому звуку загрузку по умолчанию (см. режим загрузки звуков), либо предзагрузить звук вызовом javascript метода Lib.preloadSound, в onShow методе сцены, в которой данный звук планируется использовать.


32009

Sound "..." preloading is not finished. Please preload sounds inside onShow method of scene, to automatic insurance of complete sounds preloading

Произведена попытка воспроизвести звук, загрузка которого не была завершена. Скорее всего вызов javascript метода Lib.preloadSound, был совершен вне onShow методе сцены. Либо воспроизведение звука произошло до того как обновление игровой логики сцены началось после загрузки ресурсов сцены.


32010

No texture with name '" + name + "' registered in Lib

Объекту установлено несуществующее изображение. Данная ошибка происходит когда из проекта удаляется изображение, используемое в объекте на сцене. Необходимо задать объекту новое изображение, либо вернуть удаленное изображение на место.


32011

Class ... was not loaded. Latest valid version used.

Ошибка возникает, если удалить файл Custom компонента из проекта и перезагрузить Custom компоненты. Название компонента будет отображено в сообщении. При этом объекты данного типа по-прежнему останутся на экране, сохранив свои свойства, используя последнюю загруженную версию компонента. Однако, при следующем старте редактора данные объекты будут заменены на заглушки Containerи потеряют свои свойства, если файл компонента не вернуть в проект. Необходимо либо удалить объекты данного типа, либо сменить их тип, либо вернуть исходный файл компонента в проект.


32012

Unknown class ... was replaced with class Container.

Ошибка возникает, если удалить файл Custom компонента из проекта. Название компонента будет отображено в сообщении орб ошибке. Все объекты имеющие данный тип будут заменены на контейнеры. Необходимо либо сменить тип данных компонентов, либо вернуть исходный файл компонента в проект и перезагрузить игровой редактор не сохраняя сцены.


32013

PrefabReference refer to unknown prefab "..."

Ошибка возникает, когда PrefabReference, ссылается на Префаб, который был удален из библиотеки проекта. Необходимо либо вернуть префаб в библиотеку проекта, восстановив его файл, либо удалить ссылки на это префаб, либо указать другой префаб в поле prefabName.


32014

No data path provided for setValueByPath callback

В обработчике события компонента указана установка значения переменной по по текстовому пути setValueByPath, однако путь, и значение не указаны. Необходимо указать их отделив знаком апострофа `. Например обработчик события со значением setValueByPath`game.data.myVariable,20 - присвоит переменной game.data.myVariable числовое значение 20. Подробнее о синтаксисе обработчиков событий см. Callback редактор


32015

Unknown root element name '...' in '...'

В обработчике события, либо в пути к данным, задан путь, стартовый элемент которого не удается распознать. Подробнее о синтаксисе обработчиков событий и путях к переменным см. Callback редактор, Data-Path редактор. Скорее всего, путь был Необходимо найти значение, указанное в сообщении об ошибке и исправить его.


32016

Path reference (...) is affected: Was: ... Become: ...

Удаление либо добавление объекта на сцену, либо переименование объекта затронуло путь в одной из ссылок. Прошлое и новое значения возвращаемые ссылкой будут указаны в сообщении. В Thing-Editor, при редактировании сцены, проверяются все ссылочные пути указанные в свойствах объектов. Если модификация сцены затронула какой-то из путей, то путь к целевому объекту, при возможности, восстанавливается автоматически. Однако, если целевой объект был удален, и восстановление пути невозможно, для каждого затронутого пути отображается данное предупреждение. Необходимо либо отменить изменения (Ctrl + Z), либо указать новый путь в ссылающемся поле, либо удалить объект, в котором данная ссылка содержится.


32017

Untranslated text entry ... / ...

В редакторе текстовых ресурсов, в одном из языков, обнаружено непереведенное значение. Язык и ключ значения будут показаны в предупреждении.


32018

Prefab "' + prefabName + '" has unknown type: ' + item.c

Один из префабов имеет тип, исходный файл которого был удален из проекта. Необходимо изменить тип данного префаба, либо вернуть файл удаленного компонента в проект и перезапустить игровой редактор.


32019

File with upper cased characters ignored: ...

В папке проекта обнаружен файл, имя которого содержит символы в верхнем регистре. Все файлы ресурсов в игре должны иметь имена в нижнем регистре, для избежания проблем с кросплатформенностью. Необходимо переименовать файл в нижний регистр, иначе, ресурс не будет виден в игровом редакторе.


32020

onClickOutside event handler is empty

Не указан обработчик для события onClickOutside, компонента ClickOutsideTrigger. Необходимо задать обработчик события. Подробнее см. Callback редактор.


32021

Delay was removed before its triggered

Предупреждение о том, что таймер Delay, привязанный к экранному объекту был удален до того как он сработал. Предупреждение не обязательно требует правок игровой логики, и носит информационный характер.


32022

Mask component did not found child named "mask"

Предупреждение о том, что Mask, объект не содержит дочернего компонента с именем "mask", который необходим для работы маски. Требуется добавить дочерний объект Sprite или Shape, и присвоить ему имя "mask". Подробнее об использовании масок: Mask.


32023

Orientation trigger is not useful if projects screenOrientation is not set to 'auto'

Предупреждение о том, что на сцене обнаружен объект OrientationTrigger, который имеет смысл только в проекте со включенной автоматической ориентацией экрана. Необходимо удалить этот объект, либо включить проекту автоматическую ориентацию экрана.


32024

Prefab with name ... is not exists

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


32025

Resizer is not useful if projects dynamicStageSize is not set to true

Предупреждение о том, что на сцене обнаружен объект Resizer, который имеет смысл только в проекте со включенной опцией: динамический размер экрана. Необходимо удалить Resizer объект, либо включить проекту динамический размер экрана.


32027

ScrollLayer uses it`s x,y to handle scrolling. If you want move ScrollLayer to non zero position, wrap it in to container and move container instead.

Предупреждение о попытке установить позицию x, y, для объекта ScrollLayer не равными нулю. Так как x, y у ScrollLayer компонента используются для реализации эффекта прокрутки, для того чтобы задать положение ScrollLayer объекта на сцене, необходимо обернуть его в контейнер, и перемещать этот внешний контейнер, вместо самого ScrollLayer объекта.


32028

Texture "..." has non even sized bounds (...). It is can cause unwanted blurring for objects with centralized pivot point.

Предупреждение о том, что изображение, присвоенное объекту имеет не четные размеры в пикселях. Текстуры с нечетными размерами размываются, у объектов, с точкой опоры расположенной по центру. Для избежания такого размытия, строго рекомендуется задавать четные размеры всем изображениям, используемым в игре. Для устранения проблемы необходимо увеличить высоту, либо ширину изображения на один пиксель, чтобы оба размера в пикселях приняли четное значение.


32029

Attempt to set imageId: ... for tile (...). But texture contain only 0-...

Предупреждение о том, что при редактировании Тайловой карты Tilemap, была попытка присвоить тайлу номер изображения, выходящий за размеры используемой текстуры. Это может указывать на то, что тайловой карте присвоена текстура с неподходящим размером, либо в свойствах тайловой карты указаны неправильные размеры тайлов, либо требуется исправление исходного кода Tilemap.tileMapProcessor, проекта, отвечающего за обработку тайлов при редактировании.


32030

Trigger disables interaction without alpha or scale effect. If you want to keep object clickable uncheck 'isApplyInteractivity' property of trigger

Предупреждение о том, что Trigger, не меняющий свою прозрачность или размер переходе в неактивное состояние, отключает кликабельность дочерних объектов. Необходимо либо задать триггеру уменьшение прозрачности (поле alphaShift), либо отключить флаг isApplyInteractivity. Подробнее: isApplyInteractivity.


32031

Translatable text key '...' is not exists

Предупреждение о попытке получить строку локализации вызовом метода L, с несуществующим ключом перевода. Необходимо либо добавить ключ в редакторе текстовых ресурсов, либо исправить ключ в javascript коде.


32032

translatableText refers to not existing key.

Предупреждение о том, что на сцене присутствует Text объект, translatableText которого ссылается на несуществующий текстовый ресурс. Необходимо либо добавить ключ в редакторе тестовых ресурсов, либо указать другое значение полю translatableText, либо удалить объект Text со сцены.


32035

Nothing is selected in scene.

Для сохранения нового префаба необходимо выделить объект на сцене, который будет сохранен как префаб в библиотеку префабов.


32036

More that one object selected.

Для сохранения нового префаба необходимо выделить только один объект на сцене.


32037

You can not save Scene as prefab. Please select some object from scene first.

Сцена не может быть сохранена как префаб.


32038

PrefabReference to prefab "..." was cleared because of loop referencing

Префабы могут содержать в себе ссылки на другие префабы, при этом недопустимо, чтобы такие ссылки закольцовывались, так как это сделает загрузку префаба невозможной. Для предотвращения ошибок, связанных с закольцованными ссылками, такие ссылки чистятся автоматически.


32039

Object has circular structures and can not be represented as text. Please check browser's console to see reference's value

Не удалось отобразить значение ссылочного поля в виде текста, так как объект имеет закольцованные ссылки. Вы можете увидеть значение в консоли инструментов разработчика, куда оно было выведено при клике по ссылочному полю.


32040

Property '...' is not exists anymore, but movieClip have animation for it.

Предупреждение о том, что MovieClip объект имеет анимацию для несуществующего поля. Такая ситуация возникает, когда у компонента, наследующегося от MovieClip, удаляют объявление редактируемого поля.


32041

Bitrate changes will be applied on next assets loading.

Изменения битрейта по умолчанию вступают в силу только при перезапуске редактора.


32042

Object already removed form stage, or problem was solved.

При клике по ошибке или уведомлению в окне статуса, обычно, если это возможно, осуществляется переход к объекту на сцене и свойству объекта, проблема в котором обнаружена. Однако, в ряде случаев, такой переход не возможен, из-за того что объект после возникновения ошибки был удален со сцены, либо произошел переход в другую сцену, либо данное уведомление является устаревшим по другой причине. При появлении настоящего уведомления, разработчику необходимо принять решение о источнике проблемы самостоятельно, изучив информацию, доступную в строке окна статуса.


32043

No refs to: ...

Уведомления данного типа генерируются при нажатии кнопки автоматической очистки в Окне текстур. При клике по данному уведомлению будет отображен запрос на удаление неиспользуемой текстуры из проекта. Следует быть внимательными при удалении текстур, так как автоматически проверяется использование текстур в префабах и сценах проекта, в то время как они могут использоваться из javascript кода, где автоматическое обнаружение не производится, так как является не простой задачей.


32044

File ... ignored because of wrong symbol '.' in it's name

Необходимость размещать ресурсы игры на веб серверах, накладывает ограничения на допустимые символы в наименовании файлов. Необходимо удалить или заменить любый символы кроме латинских букв и цифр, точки, нижнего подчеркивания и знака минус.


32045

File changed externally: ...

Thing-Editor подгружает изменения в файлах изображений и звуков на лету автоматически, Однако, изменения в json файлах сцен, префабов и других, не загружаются при внешнем изменении, так как это может затереть имеющиеся не сохраненные изменения в сцене или префабе, произведенные разработчиком.


32046

It is no any bitmap fonts (xml) files in '/img' subfolders

Данное сообщение отображается при добавлении на сцену BitmapText объекта, в то время как в ресурсах проекта не присутствует ни одного Bitmap шрифта. Подробнее о добавлении Bitmap шрифтов в проект


32047

ScrollLayer's mouseHandler refers to container which has no interactive children

mouseHandler свойство ScrollLayer объекта указывает на объект, с отключенным свойством interactive и не содержащий в себе интерактивных дочерних объектов. Необходимо указать интерактивный объект, иначе прокрутка ScrollLayer будет невозможна.


32048

More than one scroll layer want to be dragged by one mouse handler

mouseHandler более чем одного ScrollLayer указывает на один и тот-же объект. В такой ситуации сразу два ScrollLayer будут прокручиваться когда игрок будет взаимодействовать с интерфейсом. Необходимо указать каждому ScrollLayer свой собственный обработчик мыши.


32049

StaticTrigger can not be root element or child of root element, because its removes parent

StaticTrigger компонент был добавлен в корневой объект сцены или префаба, что не допустимо, так как корневой объект нельзя удалить. Необходимо либо удалить такой StaticTrigger, либо переместить его глубже по иерархии.


32050

StaticTrigger`s dataPath can refer to global variables only. Like isMobile.any

StaticTrigger компонент должен ссылаться в качестве условий только на переменные, существующие глобально до запуска игры, так как обработка таких триггеров осуществляется на этапе загрузки игры, и удаление происходит на уровне сериализованных данных. Использование условий, начинающихся на 'this' или 'all' является ошибкой.


32051

Texture with name '...' is not loaded. Need add to scene static invisible sprite with that texture to automatically load it at scene beginning

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


32052

Localization data with id "..." has no matched %d %s templates set

Обнаружен отличающийся набор %d %s вставок в тексте локализации у двух разных языков. Обычно, шаблон для отображения данных не должен зависеть от языка.


32053

BitmapFont is not exists: fontName

Объекту BitmapText установлен несуществующий либо удаленный Bitmap шрифт. Необходимо указать корректный шрифт в выпадающем списке (components.BitmapText#font.name).


32054

Wrong onClick handler: ...

Данная ошибка возникает в случае, когда onClick обработчик кнопки указывает на значение, не являющееся функцией, но кнопка доступна для клика игроком. Такая ситуация может возникнуть кратковременно во время выполнения игры. Необходимо убедиться что кнопке задается состояние disabled, прежде чем функция обработчик, вызываемая при клике кнопки, становится недоступной.


32054

Wrong afterClick handler: ...

Данная ошибка возникает в случае, когда afterClick обработчик кнопки указывает на значение, не являющееся функцией, но кнопка доступна для клика игроком. Такая ситуация может возникнуть кратковременно во время выполнения игры. Необходимо убедиться что кнопке задается состояние disabled, прежде чем функция обработчик, вызываемая при клике кнопки, становится недоступной.


32055

SpawnerRing's target container has been removed. Please disable spawner before removing target container or use not removable target container

Данная ошибка возникает при попытке SpawnerRing заспавнить частицы в контейнер, удаленный со сцены.


32056

Spawner's target container has been removed. Please disable spawner before removing target container or use not removable target container

Данная ошибка возникает при попытке Spawner заспавнить частицы в контейнер, удаленный со сцены.


32057

Wrong color gradient entry: ...

Данная ошибка возникает при обнаружении в style.fill свойстве текста некорректное значение для цвета градиента.

Ошибки при описании редактируемых полей

40000

Unknown editable property type: .. for property ... in class ...

В дескрипторе редактируемого поля указан неизвестный тип type. Имя компонента, в исходном коде которого обнаружена проблема, и имя редактируемого поля будут указаны в сообщении об ошибке. Список поддерживаемых типов для редактируемых полей.


40001

Class ... has property with no name defined

В дескрипторе редактируемого поля не указано имя name. Имя компонента, в исходном коде которого обнаружена проблема будет указано в сообщении об ошибке.


40002

Class ... has property ... with no type defined

В дескрипторе редактируемого поля не указан тип type. Имя компонента, в исходном коде которого обнаружена проблема, и имя редактируемого поля будут указаны в сообщении об ошибке. Список поддерживаемых типов для редактируемых полей.


40003

Editable properties for class ... already defined

Метод __EDITOR_editableProps был дважды вызван для одного и того же компонента. Все редактируемые поля класса должны быть описаны в одном блоке. Скорее всего, указано неверное имя класса, оставшееся при копировании исходного кода компонента из другого файла.


40004

Redefinition of property "..." at class .... Already defined at: ...

Обнаружено объявление редактируемого свойства имя которого уже используется в другом редактируемом свойстве. Имя свойства и класса, в котором обнаружена проблема будут показаны в сообщении, а исходный файл компонента будет автоматически открыт для редактирования в редакторе по умолчанию, настроенному для '.js' файлов.


40901

__getNodeExtendData expected DisplayObject

В глобальный метод __getNodeExtendData в качестве аргумента был передан не экранный объект.


40902

scene object without ___id detected

На сцене обнаружен объект, который был создан из javascript не документированным способом. Например прямым вызовом конструктора new Container(). Используйте методы Lib.loadPrefab и Lib._loadClassInstanceById для создания экранных объектов, чтобы соответствовать требованиям игрового редактора и не вызывать конфликтов пулинга.


40903

Can not add NaN checking for property '...'. Please make this property configurable or add noNullCheck flag in it`s descriptor

Всем редактируемым свойствам, имеющим тип Number, автоматически добавляется проверка на присвоение нечислового значения. Ошибка 40903 возникает при неудачной попытке добавить такую проверку. Чтобы исправить ошибку необходимо сделать редактируемое поле конфигурируемым (подробнее см. Object.defineProperty(), configurable), либо отключить проверку, добавив флаг noNullCheck, если сделать свойство конфигурируемым невозможно.

Пользовательская ошибка

90000

Пользовательская ошибка.

Данная ошибка была сгенерирована разработчиком игры через вызов метода game.__showDebugError.

Недокументированная ошибка

90001

Недокументированная ошибка.

Скорее всего возникновение данной ошибки, означает, что вы выявили баг в Thing-Editor, требующий исправления со стороны разработчиков редактора, либо вы вызвали недокументированный метод редактора в javascript. Если вы считаете, что ошибка требует исправления, разделе Issues, проверьте, нет ли открытого сообщения о такой ошибке, и если нет, сообщите о ней, для скорейшего ее исправления. Скопируйте текст ошибки и информацию об ошибке из консоли браузера, включая стек вызовов, и опишите шаги, приводящие к данной ошибке.

99999

Описание ошибки пока не добавлено.

Данный код ошибки присваивается новым ошибкам, описание для которых пока не добавлено в настоящую документацию.

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

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

Интерфейс игрового редактора

Общая информация о Thing-Editor

Clone this wiki locally