Не уверен на 100%, что вы имеете в виду .. Если вам нужно иметь несколько разных кнопок, почему вы не можете просто создать несколько кнопок с помощью функции Преобразовать в символ из контекстного меню при выборе объектов в пользовательском интерфейсе?
Если вам нужно поддерживать какой-либо тип функциональности для этих кнопок, тогда я могу порекомендовать инкапсулировать все это в класс, имеющий свойство skin:SimpleButton
. Что вы можете сделать здесь, так это установить сеттер для скина, который применяет слушателей событий или что-то подобное:
public function set skin(btn:SimpleButton):void
{
btn.addEventListener(MouseEvent.CLICK, _someFunc);
}
Все, что вам действительно нужно будет сделать, это либо создать несколько классов для каждой из ваших разных кнопок, которые задают обложку для использования в конструкторе:
public function SomeButton()
{
skin = new MyLibraryButton();
}
Или сделать это на лету:
var button:MyButton = new MyButton();
button.skin = new MyLibraryButton();
Это то, что вы преследовали?
Вот более полный пример того, что я описываю выше:
package
{
import flash.display.SimpleButton;
import flash.events.MouseEvent;
public class MyButton extends Object
{
// Properties
private var _skin:SimpleButton;
/**
* Defines the button skin to use
* @param btn Reference to an instance of SimpleButton
*/
public function set skin(btn:SimpleButton):void
{
_skin = btn;
btn.addEventListener(MouseEvent.CLICK, _click);
}
/**
* Called when the skin (button) has been clicked
* @param e MouseEvent.CLICK
*/
private function _click(e:MouseEvent):void
{
trace("Button was clicked");
}
/**
* Getters
*/
public function get skin():SimpleButton{ return _skin; }
}
}