только что рисовал кнопку потомок симплбаттона вот вам образец класса:

Код AS3:
package core
{
import flash.display.*;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.text.*;
import flash.filters.*;
public class Moduli_menu_btn extends SimpleButton
{
private var btnlabel:String;
private const color:uint = 0x6D8FB3;
private const colorText:uint = 0xF7F7F7;
private const btnWigth:Number = 190;
private const btnHeight:Number = 35;
private var myFilters:Array;
public function Moduli_menu_btn(btnlabel:String)
{
this.width = btnWigth + 5;
this.height = btnHeight + 5;
this.btnlabel = btnlabel;
this.upState = drawBtnUp ();
this.overState = drawBtnOver ();
this.downState = drawBtnOver ();
this.hitTestState = drawBtnOver ();
}
private function btnTextField ():TextField
{
var t:TextFormat = new TextFormat ("Calibri", 20, colorText, true);
t.align = TextFormatAlign.CENTER;
var btntext:TextField = new TextField ();
btntext.selectable = false;
btntext.text = btnlabel;
btntext.setTextFormat (t);
btntext.y = 3;
btntext.x = (btnWigth - btntext.width)/2;
return btntext;
}
private function drawBtnUp ():Sprite
{
var bgUp:Sprite = new Sprite ();
bgUp.graphics.lineStyle (2, color);
bgUp.graphics.beginFill (color);
bgUp.graphics.drawRoundRect (0, 0, btnWigth, btnHeight, 3, 3);
bgUp.graphics.endFill ();
var text:TextField = btnTextField ();
bgUp.addChild (text);
return bgUp;
}
private function drawBtnOver ():Sprite
{
var bgOver:Sprite = drawBtnUp ();
myFilters = new Array();
//myFilters.push(new GlowFilter(0xDAE1E8, 3, 18, 18));
myFilters.push(new DropShadowFilter ());
bgOver.filters = myFilters;
return bgOver;
}
}
}
делайте так, и не трахайте мозг кадрами. Если надо в разных состояниях кнопки добавлять разный текст, помещайте его на спрайты в соответствующих функциях.
Добавлено через 1 минуту
Цитата:
Сообщение от -De-
У SimpleButton нет фич, без которых просто никак иногда, например состояние "disabled". Это осложняет жизнь использующему её. Неиспользование stage таких недостатков не имеет.
|
Нету??? А свойство enabled не пойдет???