Если вам просто нужно, чтобы он переключался (именно так ведет себя кнопка), установите для его свойства переключателя значение true.
<mx:Button label="Button Test" toggle="true"/>
Если вы не это имеете в виду, уточните свой вопрос.
РЕДАКТИРОВАТЬ: Поскольку вы уточнили свой вопрос, я бы посоветовал вам создать обработчик для события mouseDown кнопки, запускающего метод, и создать обработчик mouseUp, который останавливает выполнение метода. Или еще лучше: установите или отмените переменную, которая проверяется в методе updateDisplayList (). Вот так:
private var _runButtonStuff:Boolean = false;
override protected function updateDisplayList(width:Number, height:number) : void {
super.updateDisplayList(width,height);
if (_runButtonStuff) {
doStuff();
}
}
private function doStuff() : void {
// do some stuff
}
private function buttonIsDown() : void {
_runButtonStuff = true;
}
private function buttonIsUp() : void {
_runButtonStuff = false;
}
и кнопка выглядит так:
<mx:Button text="Run Something" mouseDown="buttonIsDown()" mouseUp="buttonIsUp()"/>