-
Notifications
You must be signed in to change notification settings - Fork 41
editor.Properties
По умолчанию, окно Редактора Свойств расположено в левом верхнем углу окна редактора, рядом с деревом сцены, и имеет вид, представленный на Рис. 1.
Рис. 1
В редакторе свойств отображаются свойства текущего выделенного на сцене объекта. Редактор свойств позволяет настраивать объекты сцены, меняя их свойства, по усмотрению разработчика игры.
Все свойства в редакторе объединены в группы. Каждую группу можно свернуть, либо развернуть, кликнув по заголовку группы.
При клике по имени свойства с удержанием клавиши Ctrl, имя поля копируется в буфер обмена.
В Thing-Editor поддерживается выделение нескольких объектов одновременно. При этом в редакторе свойств, отображаются значения свойств только первого из выделенных объектов. Редактирование свойства, при множественном выделении объектов, присваивает новое введенное значение всем выделенным объектам, за исключением числовых свойств, которые могу редактироваться относительно исходного значения содержащегося в каждом из выделенных объектов.
Каждое редактируемое свойство имеет свой тип, определяющий как именно будут выглядеть элементы пользовательского интерфейса, для редактирования данного конкретного свойства. Каждый тип редактируемого поля имеет свои особенности.
Текстовое поле
Стандартное однострочное текстовое поле, предназначенное для редактирования текстовых свойств объекта. Примером поля, имеющего данный тип, является поле name, которое идет первым в списке свойств.
В полях данного типа поддерживается навигация по текстовой строке стрелками клавиатуры и мышью, копирование и вставка из буфера обмена системными горячими клавишами, либо правым кликом мыши.
Числовое поле
Числовое поле, предназначенное для редактирования числовых свойств объекта. Примером поля, имеющего данный тип, является поле x, которое идет вторым в списке свойств.
Поля данного типа имеют кнопки увеличения ▲ и уменьшения ▼ значения. Шаг увеличения и уменьшения зависит от конкретного поля. Некоторые поля имеют целочисленный шаг, а некоторые - дробный. Если потянуть за одну их таких стрелок вверх или вниз, перетаскиванием мышью, то значение поля будет быстро прокручиваться. Если при таком перетаскивании мышью удерживать клавишу Ctrl, то скорость изменения значения увеличится десятикратно. В дополнение к стрелкам в самом поле, поддерживается изменение значения нажатием клавиш клавиатуры Стрелка вверх, Стрелка вниз, при этом удержание клавиши Ctrl, так же увеличивает шаг изменения значения в десять раз.
Манипуляции стрелками и перетаскиванием, в то время как на сцене выделено более одного объекта, увеличивают и уменьшают значение свойств, у каждого из выделенных объектов независимо. Если же значение числового поля отредактировано вводом числа с клавиатуры, то всем выделенным объектам будет присвоено одно и тоже введенное значение.
При перетаскивании значения стрелками в редакторе числовых свойств, происходит захват курсора мыши, при котором курсор становится невидимым. Если в этот момент произойдет переключение фокуса на другое окно, например окно отладчика, то курсор может остаться невидимым на всегда. Для возвращения курсора на экран, необходимо нажать клавишу Esc.
Числовые поля поддерживают ввод математических выражений.
Выключатель
Поля данного типа предназначены для редактирования Boolean свойств объектов. Это поле представляет из себя стандартный чекбокс, клик по которому переключает значение поля в во включенное, состояние и обратно. (true и false соответственно). Примером поля, имеющего данный тип, является поле visible.
Прямоугольная область
Поля данного типа представляют из себя группу числовых полей, редактирующих x, y, w (ширину), h (высоту), прямоугольной области, привязанной как свойство к объекту сцены. Поведение и порядок работы с каждым из числовых полей этой группы, совпадает с поведением поля Редактирования числового свойства. В некоторых случаях, в верхней части группы доступна галочка отключения, позволяющая отключить прямоугольную область (присвойть свойству пустое значение null), либо включить ее. Примером поля, имеющего данный тип, является поле rect, объекта Scissor.
При выделении объекта, имеющего поля данного типа, на игровом экране отображается вспомогательная визуализация прямоугольной области, для удобства.
Цвет
Поля данного типа представляют из себя кнопку выбора цвета. При ее нажатии открывается системный диалог выбора цвета. Примером поля, имеющего данный тип, является поле backgroundColor, корневого объекта сцены (Scene).
Кнопка
Поле данного типа представляет из себя кнопку, при нажатии которой производится некоторая быстрая операция с выделенным объектом сцены, либо открывается дополнительное окно. Примером такой кнопки является поле timeline, объекта MovieClip, открывающая окно Timeline
Выпадающий список
Поле данного типа представляет из себя кнопку, открывающую выпадающий список допустимых значений:
Количество значений, отображаемых в списке ограничено двадцатью. В случае, если необходимое вам значение не входит в список, воспользуйтесь полем поиска, в верхней части списка.
В большинстве случаев, верхняя позиция списка является пустой, и служит для очистки значения. Иногда это поле имеет название (none, empty, - - -), a иногда не содержит текста, но все равно доступно для выбора. Вид пустого поля зависит от конкретного редактируемого свойства.
Примером поля "выпадающий список" является поле image, объекта Sprite.
Разделитель
Поле данного типа является заголовком группы, объединяющей несколько полей. При клике на такой заголовок группа сворачивается, либо разворачивается. Данное поле служит для удобства, и не отвечает за значение какого-либо поля.
Callback Редактор
Поле данного типа имеет текстовое значение, и хранит путь к javascript функции, которая будет вызвана при наступлении некоторого события в компоненте.
В поле имеется кнопка многоточия '...', открывающая окно "редактор пути":
В данном окне отображается список доступных функций и объектов, которые могут содержать в себе функции. Редактор путей напоминает своей работой окно перемещения по папкам диска, стартовой "папкой" которого, является объект game, чьи функции и свойства описаны в описании модуля game. Перемещаясь по папкам, нам необходимо выбрать "файл" - функцию, которая должна быть вызвана при наступлении события в компоненте.
Верхний пункт списка в виде стрелки '↰', является кнопкой возврата на уровень выше (возврат в "родительскую папку" текущего пути).
В окне имеется поле поиска "Search", для быстрого поиска нужного значения в списке. Поиск осуществляется только на текущем уровне и не находит функции вложенные в объекты ("подпапки").
В заголовке окна отображается текущий путь. Под заголовком располагается зеленая кнопка "применить" ✔. При нажатии этой кнопки окно редактора закрывается и текущий выбранный путь присваивается свойству. При клике за пределами диалога - диалог закрывается, и редактирование отменяется.
Если выбранная функция требует указания параметров, то может быть либо отображен дополнительный диалог, для выбора допустимого параметра, либо в конец пути будет добавлен символ отделения параметров `, после которого можно впечатать значение параметра вручную в текстовое поле. Если параметров указывается более одного, то их следует отделять запятой. Параметры, состоящие из цифр знака минуса и точки, при вызове функции преобразуются в Number. В качестве Boolean значений лучше указывать 1 и 0 либо 1 и пустое значение, так как если впечатать 'false', этот параметр будет передан как текстовая строка, и будет считаться истинным.
Когда сцена запущена на выполнение, поля описываемого типа имеют кнопку "точки останова" с иконкой красного квадрата "■". Клик по этой кнопке активирует точку остонова, которая сработает при вызове данного события у данного объекта. Выполнение javascript будет остановлено, перед началом парсинга пути, что позволит по-шагово отследить путь выбора функции и ее вызов, через пошаговый отладчик javascript. Такие точки останова активны только в пределах текущего запуска сцены.
Data-path Редактор
Поле данного типа имеет текстовое значение, и хранит путь к javascript переменной, значение которой будет использоваться в компоненте как источник данных.
В поле имеется кнопка многоточия '...', открывающая окно "редактор пути", подробно описанный выше, в поле Callback редактор. Два этих поля имеют похожий функционал, с той разницей, что Callback Редактор указывает путь к функции - колбеку, а Data-path Редактор к объекту или переменной.
В случае, если путь, заданный в Data-path Редакторе указывает на функцию, то компонентом будет использоваться значение, возвращаемое при вызове данной функции. При этом в такую функцию можно передать параметры, указанные в конце пути после знака `. Синтаксис указания параметров совпадает с синтаксисом параметров Callback Редактора.
Ссылка
Поле данного типа является не редактируемым. Оно служит для вспомогательного отображения значения поля, и для автоматической очистки данного поля при повторном использовании объекта (см. Пулинг экранных объектов.
Во время работы игры, поля данного типа могу иметь значения разного типа, но в основном, они являются ссылками на экранные объекты. При клике по значению такого поля происходит выделение объекта, на который данное поле ссылается, либо значение поля отображается в виде текстового сообщения, если значение не является экранным объектом.
Примером поля "Ссылка" является поле _container, объекта Spawner. В то время как путь к контейнеру указывается в редактируемом поле container, ссылка на сам контейнер кешируется при запуске игры в ссылочном поле _container, для быстрого доступа к нему при спавне объектов.
В самой верхней части редактора свойств указан тип текущего выделенного компонента, рядом с которым расположена кнопка смены типа '...'. При нажатии этой кнопки откроется список всех имеющихся типов. при этом для сцены будут отображены типы сцен. При смене типа объекта, значения полей, присутствующих в старом типе но отсутствующих в новом выбранном типе будут потеряны, а поля отсутствующие в исходном типе но присутствующие в новом выбранном типе примут значения по умолчанию. Новый тип будет присвоен всем выделенным объектам на сцене. Смена типа может быть отменена нажатием клавиш (Ctrl + Z), как и любая операция, производимая со сценой.
<- Предыдущая страница Следующая страница ->