-
Notifications
You must be signed in to change notification settings - Fork 41
Error Messages
В Thing-Editor имеется множество проверок, которые помогают выявлять ошибки как в разрабатываемой игре, так и в самом редакторе. В случае, если одна из проверок не выполняется, в редакторе будет отображено окно с сообщением об ошибке, содержащее код ошибки, либо сообщение об ошибке или предупреждение в окне статуса.
При клике по ошибке в окне статуса, будет совершен автоматический переход к объекту сцены, и редактируемому полю, в котором проблема была обнаружена. При исправлении проблемы, ошибка не скрывается из окна статуса автоматически. Необходимо закрывать исправленные ошибки вручную.
Отображение предупреждений, не являющихся критическими, можно отключить в настройкой проекта __suspendWarnings в файле настроек thing-project.json.
Ошибки, не имеющие своего кода ошибки являются внутренними ошибками игрового редактора и сигнализируют об ошибке допущенной разработчиками Thing-Engine, либо о том, что разработчик использует недокументированные методы при разработке игры. Сообщить о таких ошибка вы можете а разделе Issues. Приложите полный текст сообщения об ошибке и информацию об ошибке из консоли браузера, включая стек вызовов, иначе исправление ошибки окажется затруднительным.
Все ошибки выводят подробную информацию в консоль вывода DeveloperTools браузера (F12). Проверяйте консоль вывода при обнаружении любой непонятной ошибки.
Обычно, при возникновении любой из ошибок, выбрасывается исключение непосредственно в месте возникновения ошибки. Рекомендуется, при разработке Custom компонентов, работать в Thing-Editor со включенным отладчиком и включенной остановкой на исключениях javascript. Либо запускать Thing-Editor из VSCode, со включенной остановкой на исключениях javascript
В данном разделе описаны все ошибки, которые могут возникнуть в процессе разработки игры, и советы по их устранению.
Попытка присвоения числовому свойству объекта не числового значения либо NaN. Название свойства будет отображено в сообщении об ошибке.
Попытка удалить системный контейнер Thing-Engine, защищенный от удаления. Возможно, в пути обработчика событий указано слишком много .parent узлов.
Попытка вызвать PIXI метод destroy для системного контейнера Thing-Engine, защищенного от уничтожения. Возможно, в пути обработчика событий указано слишком много .parent узлов. Следует заметить, что вызов метода 'destroy' не нужен для любого экранного объекта созданного в Thing-Engine. В место этого используйте метод remove.
Попытка отсоединить от родителя системный контейнер Thing-Engine, защищенный от удаления. Возможно, в пути обработчика событий указано слишком много .parent узлов.
Пустое имя указано при поиске дочерних объектов.
При поиске объекта по имени было обнаружено более одного объекта с данным именем. Скорее всего при редактировании сцены по ошибке было создано два объекта с одним именем. Переименуйте один из них.
Вызов метода Delay.delay, в то время, когда игра не была запущена на исполнение. Метод Delay.delay можно вызывать только из игровых методов, работающих во время исполнения игры, либо из обработчиков событий компонентов.
При вызове метода Delay.delay, первым аргументом ожидалась функция, но было получено значение другого типа.
При вызове метода Delay.delay, вторым параметром ожидалось число, но было получено значение другого типа.
Вызов метода FlyText.flyText, в то время, когда игра не была запущена на исполнение. Метод Delay.delay можно вызывать только из игровых методов, работающих во время исполнения игры.
Вызов метода Delay.delay был совершен до того, как первая сцена была отображена.
При создании взлетающего текста был использован префаб, корневой объект которого имеет не FlyText тип.
Метка Label, со включенным свойством isNumeric, привязана к нечисловому значению, либо в метод Label.formatMoney, передано не числовое значение.
Поле textView компонента NumberInput указывает на префаб, который не является объектом Text и в котором отсутствует объект Text, необходимый для отображения числового значения на экран.
Либо в textView указан неправильный префаб, либо Text объект был удален или не добавлен в префаб.
Попытка обращения к "карте объектов сцены" all, до того как она была инициализирована (заполнена ссылками на объекты). Инициализация all происходит в init методе сцены, поэтому обращение к all из переопределенного метода сцены init возможно только после вызова базового super.init() метода.
Попытка обращения к объекту сцены через "карту объектов сцены" all, в то время как объект с таким именем не зарегистрирован. Имя, по которому обращение было совершено, будет указано в сообщении об ошибке.
Создание карты объектов сцены all происходит при инициализации сцены, объекты добавленные на сцену позже, во время работы игры в all не попадают.
Attempt to access to object 'all.xxxxx'. But " + refsWithThanNameCount + " object with that name present on scene
Попытка обращения к объекту сцены через "карту объектов сцены" all, в то время как более одного объекта с таким именем зарегистрировано. Имя, по которому обращение было совершено, будет указано в сообщении об ошибке.
Скорее всего на сцене было создано два объекта с одним и тем же именем, один из которых должен быть доступен по имени глобально. Найдите и переименуйте один из объектов. Для поиска можно воспользоваться поиском по дереву сцены.
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 не удаляются.
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 не удаляются.
Попытка присвоить свойству image неправильное значение. image принимает в качестве значения текстовую строку, с именем одного из изображений, имеющихся в проекте.
Попытка добавить дочерний объект тайловой карте Tilemap. Запрещено добавлять дочерние объекты напрямую в тайловую карту. Необходимо создать контейнер рядом с тайловой картой и добавлять дочерние объекты в него.
Вызов метода applyInstantly, объекта Trigger в то время, когда игра не была запущена на исполнение. Метод applyInstantly() можно вызывать только из игровых методов, работающих во время исполнения игры.
Не верно указан путь к функции - обработчику событий (Подробнее см. Callback редактор). В отличии от пути к данным (Data-Path редактор), путь к функции должен указывать на существующее значение. В сообщении об ошибке будет указано имя свойства, на котором поиск функции прервался, и полный путь.
При вызове метода callByPath не указан второй параметр. В качестве этого параметра необходимо передать экранный объект, относительно которого будет выполняться поиск функции для ее вызова.
При вызове метода callByPath указан пустой путь к функции.
При вызове метода getValueByPath не указан второй параметр. В качестве этого параметра необходимо передать экранный объект, относительно которого будет выполняться поиск переменной.
При вызове метода getValueByPath указан пустой путь к переменной.
При вызове метода setValueByPath не указан третий параметр. В качестве этого параметра необходимо передать экранный объект, относительно которого будет выполняться поиск переменной, значение которой будет установлено.
При вызове метода setValueByPath указан пустой путь к переменной.
При вызове метода setValueByPath не верно указан путь к переменной, значение которой должно быть установлено. В отличии от пути к читаемой переменной (Data-Path редактор), путь к устанавливаемой переменно должен указывать на существующий объект, свойством которого переменная является. В сообщении об ошибке будет указано имя свойства, на котором поиск переменной прервался, и полный путь.
Вызов метода game.faderShoot, должен вызываться из текущего активного фейдера, как сигнал готовности фейдера к смене сцены. Данная ошибка возникает если вызвать faderShoot не из фейдера.
Повторный вызов game.faderShoot для данного фейдера.
Скорее всего, ключевой кадр анимации, содержащий вызов данного метода, был ошибочно продублирован на шкале анимации, присутствующей в фейдере.
Метод game.closeCurrentScene вызван в то время, когда игрок находился в корневой сцене игры. Корневую сцену нельзя закрыть.
В метод game.showModal был передан объект, который не является экранным объектом, либо именем префаба.
В метод game.showModal был передана сцена. Сцены нельзя использовать в качестве модальных объектов.
В метод game.hideModal был вызван, в то время, когда на игровом экране не было ни одного модального объекта.
В метод game.hideModal был вызван с указанием конкретного объекта, однако, переданный объект не является модальным объектом находящимся на игровом экране в данный момент.
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().
Метод init объявлен без вызова базового метода super.init(). Имя класса в котором обнаружена ошибка будет показано в сообщении об ошибке.
Файл, в котором обнаружена проблема, будет автоматически открыт для редактирования в редакторе по умолчанию, настроенному для '.js' файлов.
В метод Lib.preloadSound был передан id несуществующего звука.
В метод Lib.loadPrefab было передано имя несуществующего префаба. Переданное имя будет отображено в сообщении об ошибке.
Правильное имя префаба можно скопировать из окна префабов, кликнув по имени нужного префаба с зажатой клавишей Ctrl.
Метод onRemove объявлен без вызова базового метода super.onRemove(). Имя класса в котором обнаружена ошибка будет показано в сообщении об ошибке.
Файл, в котором обнаружена проблема, будет автоматически открыт для редактирования в редакторе по умолчанию, настроенному для '.js' файлов.
В метод showScene было передано имя сцены, несуществующей в проекте. Имя сцены будет показано в сообщении об ошибке.
В метод showModal вызван в то время, когда игра не была запущена на выполнение.
... 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', которое будет чистить ссылку при повторном использовании объекта (см. Пулинг экранных объектов).
При клике по данному уведомлению, исходный файл Компонента будет открыт для редактирования, а в буфер обмена будет скопирован дескриптор редактируемого поля, который можно вставить в блок описания редактируемых полей компонента.
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 компонента.
При загрузке пользовательских компонентов, Thing-Editor автоматически производит несколько проверок компонентов на возможные ошибки. Данное сообщение говорит о том, что в сеттере одного из редактируемых свойств загруженного компонента возникает ошибка, если присвоить значение данному свойству раньше, чем остальным свойствам. Необходимо добавить проверку для в сеттер такого свойства, так как порядок присвоения значений свойствам не гарантируется.
При загрузке пользовательских компонентов, Thing-Editor автоматически производит несколько проверок компонентов на возможные ошибки. Данное сообщение говорит о том, что при попытке создать объект возникает исключение при вызове метода constructor.
Метод getChildByName рассчитан на возвращение одного дочернего объекта с заданным именем. Для предотвращения возможных ошибок при разработке игры, Thing-Editor проверяет существование в контейнере других объектов с тем же именем, которые, с большой вероятностью были добавлены по ошибке.
Метод findChildrenByType принимает в качестве аргумента класс, унаследованный от DisplayObject. Данное сообщение говорит о том, что переданный класс не отвечает данному условию.
Пустое имя было передано в качестве аргумента.
В метод gotoLabel было передано имя метки, которое отсутствует в данном MovieClip.
Метод gotoRandomLabel требует как минимум два аргумента - имен меток для случайного перехода. Вызов метода с меньшим количеством меток не имеет смысла.
Метод SceneLinkedPromise.promise был вызван в то время, когда игра не была запущена на выполнение.
При использовании SceneLinkedPromise метод resolve или reject был вызван для SceneLinkedPromise который уже был разрешен ранее.
При использовании SceneLinkedPromise метод resolve или reject был вызван для SceneLinkedPromise который уже был отвергнут ранее.
В метод SceneLinkedPromise.all метод был передан массив, один из элементов которого не является SceneLinkedPromise.
Данное предупреждение говорит о том, что SceneLinkedPromise был удален со сцены, до того как он был разрешен. Предупреждение носит информационный характер.
В метод [SceneLinkedRequest.fetch] не был передан обязательный параметр owner.
В метод [SceneLinkedRequest.fetch] не был передан обязательный параметр url.
В метод [SceneLinkedRequest.fetch] был передан параметр resultFormat, имеющий недопустимое значение. Необходимо указать одно из текстовых значений: "json", "text", "blob" или "arrayBuffer".
Объекты сцены в Thing-Editor не имеют редактируемого поля width, однако, присвоение ему значения отличного от нуля из javascript кода может привести к артефактам и непредсказуемому поведению из-за пулинга объектов. Необходимо присваивать полю width нулевое значение в методе onRemove, если выш компонент присваивает ему значения в течении жизни.
Объекты сцены в Thing-Editor не имеют редактируемого поля height, однако, присвоение ему значения отличного от нуля из javascript кода может привести к артефактам и непредсказуемому поведению из-за пулинга объектов. Необходимо присваивать полю height нулевое значение в методе onRemove, если выш компонент присваивает ему значения в течении жизни.
Поле dynamicPrefabName указывает на пустое значение. Значение должно возвращать имя префаба.
При загрузке сцены произошла ошибка в коде сцены, либо в коде одного из её дочерних объектов.
В метод setValueByPath был передан путь, указывающий на функцию, что с большой вероятностью является ошибкой. Thing-Editor не допускает затирания функций.
Свойство additionalContainers объекта ClickOutsideTrigger, содержит путь, указывающий на значение, которое не является экранным объектом. Необходимо исправить, либо удалить неправильный путь. Возможно, что значение содержит лишнюю запятую.
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 является последним дочерним объектом в списке. Это правило никак не ограничивает применение триггера, и лишь избавляет разработчика от непредвиденного поведения объектов.
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 в окне дерева сцены.
Данная ошибка сигнализирует о попытке вызвать then, catch или finally метод, для уже отработавшего SceneLinkedPromise объекта. Для избежания подобных ошибок - добавляйте обработчики непосредственно в момент создания SceneLinkedPromise.
Thing-Editor имеет специальный механизм управления переходами между сценами, прямое добавление и удаление сцен, как обычных экранных объектов не требуется. Используйте методы game.closeCurrentScene, game.closeAllScenes, game.replaceScene для выхода из текущей сцены, вместо вызова метода scene.remove().
textTransform is set for label which shows numeric value. Please set it to "none" to avoid senseless processing.
Числа не имеют заглавного и строчного написания, поэтому для меток отображающих чистые числовые значения - использование свойства textTransform, работающего с регистром тексте, лишено смысла. Установите значение этого свойства в none. Клик по ошибке перенесет фокус ввода на нужное поле.
Ошибки, возникающие во время исполнения игры, которые могут привести к нарушению работы редактора и повреждению данных, редактируемой в данный момент сцены, требуют перезагрузки страницы. После перезагрузки сцены разработчику будет предложено восстановить сцену из бекапа, созданного перед последним запуском сцены на выполнение, либо удалить этот бекап, и загрузить последнюю сохраненную версию сцены.
Остановка игры в редакторе была завершена с ошибкой. Это может быть исключение в onRemove методе одного из ваших Custom компонентов, находившихся на экране. Либо ошибка в коде самого игрового редактора. Проверьте консоль браузера для получения деталей.
Запуск игры в редакторе был завершен с ошибкой. Это может быть исключение в init методе одного из ваших Custom компонентов, находившихся на экране. Либо ошибка в коде самого игрового редактора. Проверьте консоль браузера для получения деталей.
Обновление игровой логики было завершено с ошибкой. Это может быть исключение в update методе одного из ваших Custom компонентов, находившихся на экране. Либо ошибка в коде самого игрового редактора. Проверьте консоль браузера для получения деталей.
Другое окно с Thing-Editor уже запущено. Данная вкладка может быть закрыта.
Серверная часть редактора закрыта или остановилась с ошибкой. Смотрите вывод в консоль сервера Thing-Editor, если вы не останавливали его. Вкладка Thing-Editor может быть закрыта.
Введено неправильное имя для создаваемого компонента. Скорее всего символ разделения папки '/' был указан в конце имени.
Введено имя для создаваемого компонента, начинающееся с цифрового символа или знака подчеркивания.
Компонент с заданным именем уже существует. Имя компонента должно быть уникальным, без учета подпапки в которой он создается.
В настройке проекта soundFormats обнаружен неподдерживаемый тип файла. Поддерживаемые форматы: 'webm', 'ogg', 'mp3', 'weba', 'aac'.
Ошибка возникает при попытке удалить корневой объект префаба (См. операция Unwrap), в то время как корневой объект префаба имеет более одного дочернего объекта.
Так как у префаба может быть только один корневой элемент, нельзя удалить корневой элемент если на его месте останется более одного объекта.
Данная ошибка говорит о наличии ошибок при сборке билда игры webpack сборщиком. Ошибки будут отображены в сообщении.
Ошибки сборки могут возникать при неправильных настройках сборки, или ошибках в javascript коде игры.
Ошибка конвертации звуков. Подробности ошибки будут отображены в сообщении.
Данная ошибка может возникать если в системе не установлена библиотека ffmpeg, либо она не доступна глобально из командной строки, либо один или несколько 'wav' файлов в папке /snd имеют неверный формат.
Один из Custom компонентов имеет имя, совпадающее со встроенным компонентом или другим Custom компонентом. Имя компонента будет указано в сообщении. Необходимо переименовать ошибочно проименованный Custom компонент.
В .js файле загружаемого Custom компонента обнаружена ошибка, необходимо исправить ошибку и повторить загрузку. Детали ошибки будут указаны в сообщении, либо в консоли DevTools (F12) браузера.
Файл, в котором обнаружена проблема, будет автоматически открыт для редактирования в редакторе по умолчанию, настроенному для '.js' файлов.
В настройке проекта screenOrientation обнаружено неподдерживаемое значение. Поддерживаемые значения: "auto", "landscape" or "portrait.
По умолчанию, браузер блокирует всплывающие окна. Для того чтобы игра открывалась автоматически при окончании сборки билда, необходимо разрешить всплывающие окна в строке статуса браузера.
Операция Wrap работает только в том случае, если выделенные объекты находятся в одном контейнере. Объекты находящиеся в разных контейнерах необходимо выделять и оборачивать по очереди.
Операция Wrap не может быть произведена над сценой, так как сцена должна оставаться корневым объектом. Возможно, вам нужно сменить тип у текущей сцены, вместо оборачивания.
Looks like you stopped on caught exception, probably you need to disable 'stop on caught exception' option in your debugger.
Данное предупреждение возникает в том случае, когда отладчик останавливает выполнение javascript в момент ошибки, возникшей внутри блока try-catch. Возможно, вам нужно отключить остановку на перехваченных ошибках в настройках отладчика подробнее.
Данное предупреждение возникает при попытке выделить на сцене объект, который не отображается в дереве сцены. Например, PrefabReference не отображает контент префаба в дереве сцены, однако он видим на экране. В такой ситуации, если один из объектов, находящихся внутри префаба, отобразит в строке статуса предупреждение, то при клике по такому предупреждению будет осуществлена попытка выделить объект в дереве сцены, что окажется не возможным.
Данное предупреждение возникает при попытке изменить значение нечислового редактируемого поля у объекта MovieClip, в то время как поле имеет анимацию, a редактор анимаций скрыт. У числовых полей, в такой ситуации, анимация полностью сдвигается на величину, на которую значение поля было изменено, однако, для полей имеющих нечисловой тип - подобная операция невозможна. В данной ситуации необходимо включить Редактор анимаций (Timeline) (Ctrl + L), и повторить редактирование поля, тогда это редактирование будет записано в анимацию. Либо настроить значение поля __previewFrame таким образом, чтобы объект MovieClip получил нужное состояние предпросмотра.
Сообщение возникает при попытке клонирования корневого объекта (непосредственно сцены, либо корневого узла префаба) чрез перетаскивание объекта с зажатой клавишей Alt. Клонирование доступно только для дочерних объектов сцены или префаба.
Value of PrefabReference property "..." was changed to ... because its refers to MovieClip where animation starts with that value
Уведомление об автоматическом изменении одного из свойств объекта PrefabReference, которое было произведено для приведение в соответствие значения поля со стартовым значением анимации в префабе. Дополнительные действия не требуются.
Данное сообщение является отладочным, и возникает когда в объекте MovieClip, с включенным логированием __logLevel, срабатывает callback в одном из ключевых кадров анимации.
Данное сообщение является отладочным, и возникает когда в объекте MovieClip, с включенным логированием __logLevel, происходит переход на метку.
Данное сообщение является отладочным, и возникает когда в объекте MovieClip, с включенным логированием __logLevel, происходит отмена перехода на метку из-за перехода на другую метку (переход на метку перезатирается).
Ошибка возникает в том случае, когда 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
Сообщение сигнализирует о попытке переместить контейнер с зажатой клавишей Ctrl (подробнее. При этом сам контейнер, либо один из его родителей - имеет scale.x либо scale.y равные 0, что делает невозможным расчет правильной глобальной позиции для его дочерних объектов. Необходимо либо временно установить контейнеру не нулевой масштаб, либо установить правильное значение свойству __previewFrame, если контейнер имеет тип MovieClip.
Сообщение сигнализирует об обнаружении в папке snd звукового файла, имеющего тип отличный от wav. Что может привести к невозможности воспроизведения такого звука в финальном билде игры. Необходимо добавлять звуки в формате wav, все остальные необходимые форматы будут сгенерированы автоматически. Подробнее
При загрузке Custom компонентов возникла ошибка.
Скорее всего, данная ошибка связана с неправильно указанным путем импорта модуля в файле одного из Custom компонентов. Детали ошибки можно найти в консоли браузера (F12). Требуется исправить ошибку в javascript коде компонента, либо удалить файл Custom компонента.
Ошибка валидации значения поля. Необходимо исправить значение поля. Ожидаемое значение будет описано в тексте сообщения.
Редактируемое поле имеет значение, отсутствующее в выпадающем списке этого поля. Такая ситуация возникает, если из выпадающего списка было удалено значение, а в экранном объекта это значение было выбрано и сохранено ранее. Необходимо выбрать новое, существующее значение этому полю.
Обнаружен объект MovieClip, у которого отсутствует анимация. MovieClip без анимации не имеет смысла, поэтому, необходимо либо добавить ему анимацию, либо сменить тип объекта на DSprite, который имеет все свойства MovieClip, кроме анимации.
Объекту NumberInput в поле datapath указан путь к переменной, значение которой не является числовым. Необходимо указать путь к другой переменной, являющейся числовой, либо сменить значение переменной исправив javascript код, который эту переменную инициализирует.
Объекту Spawner не установлен Префаб, который должен спавниться. Необходимо выбрать префаб из выпадающего списка.
Объекту Spawner установлен несуществующий Префаб. Необходимо указать корректный префаб из выпадающего списка.
Объекту Spawner, в редактируемом поле container, задан путь к несуществующему контейнеру. Необходимо указать другой контейнер.
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 методе сцены, в которой данный звук планируется использовать.
Sound "..." preloading is not finished. Please preload sounds inside onShow method of scene, to automatic insurance of complete sounds preloading
Произведена попытка воспроизвести звук, загрузка которого не была завершена. Скорее всего вызов javascript метода Lib.preloadSound, был совершен вне onShow методе сцены. Либо воспроизведение звука произошло до того как обновление игровой логики сцены началось после загрузки ресурсов сцены.
Объекту установлено несуществующее изображение. Данная ошибка происходит когда из проекта удаляется изображение, используемое в объекте на сцене. Необходимо задать объекту новое изображение, либо вернуть удаленное изображение на место.
Ошибка возникает, если удалить файл Custom компонента из проекта и перезагрузить Custom компоненты. Название компонента будет отображено в сообщении. При этом объекты данного типа по-прежнему останутся на экране, сохранив свои свойства, используя последнюю загруженную версию компонента. Однако, при следующем старте редактора данные объекты будут заменены на заглушки Containerи потеряют свои свойства, если файл компонента не вернуть в проект. Необходимо либо удалить объекты данного типа, либо сменить их тип, либо вернуть исходный файл компонента в проект.
Ошибка возникает, если удалить файл Custom компонента из проекта. Название компонента будет отображено в сообщении орб ошибке. Все объекты имеющие данный тип будут заменены на контейнеры. Необходимо либо сменить тип данных компонентов, либо вернуть исходный файл компонента в проект и перезагрузить игровой редактор не сохраняя сцены.
Ошибка возникает, когда PrefabReference, ссылается на Префаб, который был удален из библиотеки проекта. Необходимо либо вернуть префаб в библиотеку проекта, восстановив его файл, либо удалить ссылки на это префаб, либо указать другой префаб в поле prefabName.
В обработчике события компонента указана установка значения переменной по по текстовому пути setValueByPath, однако путь, и значение не указаны. Необходимо указать их отделив знаком апострофа `. Например обработчик события со значением setValueByPath`game.data.myVariable,20 - присвоит переменной game.data.myVariable числовое значение 20. Подробнее о синтаксисе обработчиков событий см. Callback редактор
В обработчике события, либо в пути к данным, задан путь, стартовый элемент которого не удается распознать. Подробнее о синтаксисе обработчиков событий и путях к переменным см. Callback редактор, Data-Path редактор. Скорее всего, путь был Необходимо найти значение, указанное в сообщении об ошибке и исправить его.
Удаление либо добавление объекта на сцену, либо переименование объекта затронуло путь в одной из ссылок. Прошлое и новое значения возвращаемые ссылкой будут указаны в сообщении. В Thing-Editor, при редактировании сцены, проверяются все ссылочные пути указанные в свойствах объектов. Если модификация сцены затронула какой-то из путей, то путь к целевому объекту, при возможности, восстанавливается автоматически. Однако, если целевой объект был удален, и восстановление пути невозможно, для каждого затронутого пути отображается данное предупреждение. Необходимо либо отменить изменения (Ctrl + Z), либо указать новый путь в ссылающемся поле, либо удалить объект, в котором данная ссылка содержится.
В редакторе текстовых ресурсов, в одном из языков, обнаружено непереведенное значение. Язык и ключ значения будут показаны в предупреждении.
Один из префабов имеет тип, исходный файл которого был удален из проекта. Необходимо изменить тип данного префаба, либо вернуть файл удаленного компонента в проект и перезапустить игровой редактор.
В папке проекта обнаружен файл, имя которого содержит символы в верхнем регистре. Все файлы ресурсов в игре должны иметь имена в нижнем регистре, для избежания проблем с кросплатформенностью. Необходимо переименовать файл в нижний регистр, иначе, ресурс не будет виден в игровом редакторе.
Не указан обработчик для события onClickOutside, компонента ClickOutsideTrigger. Необходимо задать обработчик события. Подробнее см. Callback редактор.
Предупреждение о том, что таймер Delay, привязанный к экранному объекту был удален до того как он сработал. Предупреждение не обязательно требует правок игровой логики, и носит информационный характер.
Предупреждение о том, что Mask, объект не содержит дочернего компонента с именем "mask", который необходим для работы маски. Требуется добавить дочерний объект Sprite или Shape, и присвоить ему имя "mask". Подробнее об использовании масок: Mask.
Предупреждение о том, что на сцене обнаружен объект OrientationTrigger, который имеет смысл только в проекте со включенной автоматической ориентацией экрана. Необходимо удалить этот объект, либо включить проекту автоматическую ориентацию экрана.
Предупреждение о том, что при загрузке сцены была встречена ссылка на префаб (PrefabReference), ссылающаяся на несуществующий префаб. Необходимо указать другой префаб либо удалить сам PrefabReference объект.
Предупреждение о том, что на сцене обнаружен объект Resizer, который имеет смысл только в проекте со включенной опцией: динамический размер экрана. Необходимо удалить Resizer объект, либо включить проекту динамический размер экрана.
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 объекта.
Texture "..." has non even sized bounds (...). It is can cause unwanted blurring for objects with centralized pivot point.
Предупреждение о том, что изображение, присвоенное объекту имеет не четные размеры в пикселях. Текстуры с нечетными размерами размываются, у объектов, с точкой опоры расположенной по центру. Для избежания такого размытия, строго рекомендуется задавать четные размеры всем изображениям, используемым в игре. Для устранения проблемы необходимо увеличить высоту, либо ширину изображения на один пиксель, чтобы оба размера в пикселях приняли четное значение.
Предупреждение о том, что при редактировании Тайловой карты Tilemap, была попытка присвоить тайлу номер изображения, выходящий за размеры используемой текстуры. Это может указывать на то, что тайловой карте присвоена текстура с неподходящим размером, либо в свойствах тайловой карты указаны неправильные размеры тайлов, либо требуется исправление исходного кода Tilemap.tileMapProcessor, проекта, отвечающего за обработку тайлов при редактировании.
Trigger disables interaction without alpha or scale effect. If you want to keep object clickable uncheck 'isApplyInteractivity' property of trigger
Предупреждение о том, что Trigger, не меняющий свою прозрачность или размер переходе в неактивное состояние, отключает кликабельность дочерних объектов. Необходимо либо задать триггеру уменьшение прозрачности (поле alphaShift), либо отключить флаг isApplyInteractivity. Подробнее: isApplyInteractivity.
Предупреждение о попытке получить строку локализации вызовом метода L, с несуществующим ключом перевода. Необходимо либо добавить ключ в редакторе текстовых ресурсов, либо исправить ключ в javascript коде.
Предупреждение о том, что на сцене присутствует Text объект, translatableText которого ссылается на несуществующий текстовый ресурс. Необходимо либо добавить ключ в редакторе тестовых ресурсов, либо указать другое значение полю translatableText, либо удалить объект Text со сцены.
Для сохранения нового префаба необходимо выделить объект на сцене, который будет сохранен как префаб в библиотеку префабов.
Для сохранения нового префаба необходимо выделить только один объект на сцене.
Сцена не может быть сохранена как префаб.
Префабы могут содержать в себе ссылки на другие префабы, при этом недопустимо, чтобы такие ссылки закольцовывались, так как это сделает загрузку префаба невозможной. Для предотвращения ошибок, связанных с закольцованными ссылками, такие ссылки чистятся автоматически.
Object has circular structures and can not be represented as text. Please check browser's console to see reference's value
Не удалось отобразить значение ссылочного поля в виде текста, так как объект имеет закольцованные ссылки. Вы можете увидеть значение в консоли инструментов разработчика, куда оно было выведено при клике по ссылочному полю.
Предупреждение о том, что MovieClip объект имеет анимацию для несуществующего поля. Такая ситуация возникает, когда у компонента, наследующегося от MovieClip, удаляют объявление редактируемого поля.
Изменения битрейта по умолчанию вступают в силу только при перезапуске редактора.
При клике по ошибке или уведомлению в окне статуса, обычно, если это возможно, осуществляется переход к объекту на сцене и свойству объекта, проблема в котором обнаружена. Однако, в ряде случаев, такой переход не возможен, из-за того что объект после возникновения ошибки был удален со сцены, либо произошел переход в другую сцену, либо данное уведомление является устаревшим по другой причине. При появлении настоящего уведомления, разработчику необходимо принять решение о источнике проблемы самостоятельно, изучив информацию, доступную в строке окна статуса.
Уведомления данного типа генерируются при нажатии кнопки автоматической очистки в Окне текстур. При клике по данному уведомлению будет отображен запрос на удаление неиспользуемой текстуры из проекта. Следует быть внимательными при удалении текстур, так как автоматически проверяется использование текстур в префабах и сценах проекта, в то время как они могут использоваться из javascript кода, где автоматическое обнаружение не производится, так как является не простой задачей.
Необходимость размещать ресурсы игры на веб серверах, накладывает ограничения на допустимые символы в наименовании файлов. Необходимо удалить или заменить любый символы кроме латинских букв и цифр, точки, нижнего подчеркивания и знака минус.
Thing-Editor подгружает изменения в файлах изображений и звуков на лету автоматически, Однако, изменения в json файлах сцен, префабов и других, не загружаются при внешнем изменении, так как это может затереть имеющиеся не сохраненные изменения в сцене или префабе, произведенные разработчиком.
Данное сообщение отображается при добавлении на сцену BitmapText объекта, в то время как в ресурсах проекта не присутствует ни одного Bitmap шрифта. Подробнее о добавлении Bitmap шрифтов в проект
mouseHandler свойство ScrollLayer объекта указывает на объект, с отключенным свойством interactive и не содержащий в себе интерактивных дочерних объектов. Необходимо указать интерактивный объект, иначе прокрутка ScrollLayer будет невозможна.
mouseHandler более чем одного ScrollLayer указывает на один и тот-же объект. В такой ситуации сразу два ScrollLayer будут прокручиваться когда игрок будет взаимодействовать с интерфейсом. Необходимо указать каждому ScrollLayer свой собственный обработчик мыши.
StaticTrigger компонент был добавлен в корневой объект сцены или префаба, что не допустимо, так как корневой объект нельзя удалить. Необходимо либо удалить такой StaticTrigger, либо переместить его глубже по иерархии.
StaticTrigger компонент должен ссылаться в качестве условий только на переменные, существующие глобально до запуска игры, так как обработка таких триггеров осуществляется на этапе загрузки игры, и удаление происходит на уровне сериализованных данных. Использование условий, начинающихся на 'this' или 'all' является ошибкой.
Texture with name '...' is not loaded. Need add to scene static invisible sprite with that texture to automatically load it at scene beginning
Сообщение возникает, когда на сцену добавлется объект, текстура которого не была загружена из-за отложенной загрузки настроенной для данной текстуры. Необходимо добавить на сцену холдер - невидимый спрайт ссылающийся на данную текстуру, для того, чтобы вызвать загрузку этой текстуры при старте сцены.
Обнаружен отличающийся набор %d %s вставок в тексте локализации у двух разных языков. Обычно, шаблон для отображения данных не должен зависеть от языка.
Объекту BitmapText установлен несуществующий либо удаленный Bitmap шрифт. Необходимо указать корректный шрифт в выпадающем списке (components.BitmapText#font.name).
Данная ошибка возникает в случае, когда onClick обработчик кнопки указывает на значение, не являющееся функцией, но кнопка доступна для клика игроком. Такая ситуация может возникнуть кратковременно во время выполнения игры. Необходимо убедиться что кнопке задается состояние disabled, прежде чем функция обработчик, вызываемая при клике кнопки, становится недоступной.
Данная ошибка возникает в случае, когда afterClick обработчик кнопки указывает на значение, не являющееся функцией, но кнопка доступна для клика игроком. Такая ситуация может возникнуть кратковременно во время выполнения игры. Необходимо убедиться что кнопке задается состояние disabled, прежде чем функция обработчик, вызываемая при клике кнопки, становится недоступной.
SpawnerRing's target container has been removed. Please disable spawner before removing target container or use not removable target container
Данная ошибка возникает при попытке SpawnerRing заспавнить частицы в контейнер, удаленный со сцены.
Spawner's target container has been removed. Please disable spawner before removing target container or use not removable target container
Данная ошибка возникает при попытке Spawner заспавнить частицы в контейнер, удаленный со сцены.
Данная ошибка возникает при обнаружении в style.fill свойстве текста некорректное значение для цвета градиента.
В дескрипторе редактируемого поля указан неизвестный тип type. Имя компонента, в исходном коде которого обнаружена проблема, и имя редактируемого поля будут указаны в сообщении об ошибке. Список поддерживаемых типов для редактируемых полей.
В дескрипторе редактируемого поля не указано имя name. Имя компонента, в исходном коде которого обнаружена проблема будет указано в сообщении об ошибке.
В дескрипторе редактируемого поля не указан тип type. Имя компонента, в исходном коде которого обнаружена проблема, и имя редактируемого поля будут указаны в сообщении об ошибке. Список поддерживаемых типов для редактируемых полей.
Метод __EDITOR_editableProps был дважды вызван для одного и того же компонента. Все редактируемые поля класса должны быть описаны в одном блоке. Скорее всего, указано неверное имя класса, оставшееся при копировании исходного кода компонента из другого файла.
Обнаружено объявление редактируемого свойства имя которого уже используется в другом редактируемом свойстве. Имя свойства и класса, в котором обнаружена проблема будут показаны в сообщении, а исходный файл компонента будет автоматически открыт для редактирования в редакторе по умолчанию, настроенному для '.js' файлов.
В глобальный метод __getNodeExtendData в качестве аргумента был передан не экранный объект.
На сцене обнаружен объект, который был создан из javascript не документированным способом. Например прямым вызовом конструктора new Container(). Используйте методы Lib.loadPrefab и Lib._loadClassInstanceById для создания экранных объектов, чтобы соответствовать требованиям игрового редактора и не вызывать конфликтов пулинга.
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, если сделать свойство конфигурируемым невозможно.
Данная ошибка была сгенерирована разработчиком игры через вызов метода game.__showDebugError.
Скорее всего возникновение данной ошибки, означает, что вы выявили баг в Thing-Editor, требующий исправления со стороны разработчиков редактора, либо вы вызвали недокументированный метод редактора в javascript. Если вы считаете, что ошибка требует исправления, разделе Issues, проверьте, нет ли открытого сообщения о такой ошибке, и если нет, сообщите о ней, для скорейшего ее исправления. Скопируйте текст ошибки и информацию об ошибке из консоли браузера, включая стек вызовов, и опишите шаги, приводящие к данной ошибке.
Данный код ошибки присваивается новым ошибкам, описание для которых пока не добавлено в настоящую документацию.