Skip to content

components.Button

vasili.kostin edited this page Jul 16, 2019 · 24 revisions

Унаследуется от DSprite, и включает в себя все его свойства.

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

Редактируемые свойства:

hoverImage

Тип: String

По умолчанию кнопка имеет внешний вид, определяемый свойством image, унаследованным от [Sprite][components.Sprite]. hoverImage позволяет определить как будет выглядеть кнопка при наведении курсора. В случае, если значение свойства hoverImage установленовлено в 'none' (в javascript оно примет значение null), Button реализует hover эффект поворотом кнопки на небольшой угол. Чтобы отключить этот эффект поворота - установите значение hoverImage равным значению image.


pressImage

Тип: String

По умолчанию кнопка имеет внешний вид, определяемый свойством image, унаследованным от [Sprite][components.Sprite]. pressImage позволяет определить как будет выглядеть кнопка при нажатии на нее. В случае, если значение свойства pressImage установленовлено в 'none' (в javascript оно примет значение null), Button реализует press эффект уменишением размера кнопки в 0.9 раза. Чтобы отключить этот эффект - установите значение pressImage равным значению image.


disabledImage

Тип: String

По умолчанию кнопка имеет внешний вид, определяемый свойством image, унаследованным от [Sprite][components.Sprite]. disabledImage позволяет определить как будет выглядеть кнопка в disabled состоянии (состояние когда ее свойство intaratcive, унаследованное от Container установленно в false). В случае, если значение свойства disabledImage установленовлено в 'none' (в javascript оно примет значение null), Button реализует disabled эффект прозрачностью кнопки. Чтобы отключить этот эффект прозрачности - установите значение disabledImage равным значению image, либо disabledAplha равное 1;


disabledAplha

Тип: Number

Задает прозрачность кнопки в disabled состоянии, для случаев когда disabledImage не задано.


onClick

Тип: call

Поле, позволяющее привязать действие, которое будет вызываться нажатием кнопки. Это может быть вызов метода любого из присутствующих на сцене объектов, либо любой javascript метод, втроенный в Thing-editor, либо написанный разработчиком для конкретной игры. В javascript это поле имеет строковое значение, однако в редакторе свойств, оно имеет кнопки, позволяющие выбирать действие из списка доступных значений. Подробнее см. Callback редактор


afterClick

Тип: call

Поле имеет тоже назначение что и onClick. Добавлено для редких случаев, когда нужно вызвать два простых действия по нажатию одной кнопки. Больше для этого подходит написание собственного javascript метода onMyButtonClick и вызывать его, но иногда, возможность избежать лишного метода может быть оправданной для легковестных безкодовых UI конструкций. Подробнее см. Callback редактор


hotkey

Тип: 'Number'

Данное поле определяет keyKode, при нажатии которой на клавиатуре произойдет срабатывание данной кнопки. Самые распространненный keyKodes: 32 (Пробел), 17 (Enter), 28 (Esc).


sndClick

Тип: 'String'

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

Для вновь созданной кнопки это значение автоматически ставится в 'click', если звук с таким именем присутствует в папке /snd/.


sndOver

Тип: 'String'

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

Для вновь созданной кнопки это значение автоматически ставится в 'over', если звук с таким именем присутствует в папке /snd/.


repeatDelay

Тип: 'Number'

Кнопка может вызывать автоповтор клика, при ее длительном нажатии. Это бывает полезно, для кнопок '+' '-' управляющих некоторыми счетчиками. repeatDelay определяет как долго нужно удерживать кнопку, в наджатом состоянии, перед тем как начнется повторное срабатывание. Задержка задается в кадрах. 60 кадров равняется одной секунде.


repeatInterval

Тип: 'Number'

Задает интервал между автоматическими повторами срабатывания кноки. Интервал задается в кадрах. 60 кадров равняется одной секунде.


isOvered

Тип: 'Boolean'

Свойство, доступное только для чтения, определяет, находится ли курсор игрока над этой кнопкой.


isDowned

Тип: 'Boolean'

Свойство, доступное только для чтения, определяет, является ли кнопка нажатой в данный момент.


Button.downedButton

Тип: [Button | null]

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


Button.overredButton

Тип: [Button | null]

Статическое свойство, возвращающее кнопку, над которой находится курсор пользователя.


Методы:

enable ()

Метод, который устанавливает значение поля interactive в true, и применяет внешний вид кнопки по умолчанию, если до этого кнопка находилась в состоянии disabled. Использование этого метода предпочтительнее прямому присвоению true полю interactive, так как в последнем случае внешний вид кнопки будет проигнорирован.


disable ()

Метод, который устанавливает значение поля interactive в false, и применяет disabled вид кнопки, в соответствии с настройками полей disabledImage и disabledAplha. Использование этого метода предпочтительнее прямому присвоению false полю interactive, так как в последнем случае внешний вид кнопки будет проигнорирован.


callClick ()

Вызов этого метода эмулирует нажатие кнопки. Нажатие произойдет только в том случае, если свойство isCanBePressed этой кнопки возвращает true.

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

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

Изменение формы кликабельной области при помощи компонента Shape, Callback редактор, Свойства, унаследованные от Container, Редактируемые поля

Clone this wiki locally