Войти
ПрограммированиеТермины2D графика и изометрия

SimpleButton (AS3)

Класс SimpleButton представляет собой интерактивную кнопку для использования во флеш-приложениях. В редакторе Adobe Flash имеется библиотека готовых кнопок, позволяющих быстро их вставить в приложение (меню Window-> Common Libraries-> Buttons, выбрать готовый шаблон и перетащить мышкой на форму). У SimpleButton есть четыре кадра анимации - Up (обычное состояние), Over (курсор мыши находится над кнопкой), Down (кнопка нажата) и Hit (используется для определения области взаимодействия курсора с кнопкой). В инспекторе свойств можно назначить имена для всех кнопок и обращаться по ним из кода AS3. Также в редакторе Adobe Flash можно включить предпросмотр для простых кнопок - Control-> Enable Simple Buttons-> в котором можно быстро протестировать их.

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


Свойства SimpleButton:
  downState : DisplayObject - Задает экранный объект, используемый когда кнопка нажата (кадр Down)
  enabled : Boolean - доступна ли кнопка для взаимодействия
  hitTestState : DisplayObject - Задает экранный объект, который служит для проверки попадания курсора в область кнопки (кадр Hit)
  overState : DisplayObject - Задает экранный объект, когда курсор находится над кнопкой (кадр Over)
  trackAsMenu : Boolean - могут ли другие экранные объекты, являющиеся объектами SimpleButton или MovieClip, получать события отпускания при пользовательском вводе.
  upState : DisplayObject - Задает экранный объект, когда кнопка отжата и курсор не находится над ней (кадр Up)
  useHandCursor : Boolean - отображение курсора в виде руки


Для создания кнопки во время выполнения приложения в AS3 может использоваться конструктор new SimpleButton():

//спрайт отжатой кнопки
var up:Sprite = new Sprite();
up.graphics.lineStyle(1, 0x000000);
up.graphics.beginFill(0xCCFF00);
up.graphics.drawRect(0,0,150,50);

//спрайт подсвеченной кнопки
var over:Sprite = new Sprite();
over.graphics.lineStyle(1, 0x000000);
over.graphics.beginFill(0x00CCFF);
over.graphics.drawRect(0,0,150,50);

//создание кнопки
var button=new SimpleButton(up,over,over,up);
button.addEventListener(MouseEvent.CLICK, test);
addChild(button);

function test(event:Event):void
{
  trace("Don't push my buttons!");
}

Что такое SimpleButton (AS3)?

#Flash AS3

7 ноября 2012