дада, будут портить
я просто игрался на таком примере

Код AS3:
public class MenuButton extends Sprite
{
private static var _currentSelected:MenuButton;
public function MenuButton()
{
draw(0xC0C0C0);
addEventListener(MouseEvent.CLICK, onClick);
addEventListener(MouseEvent.ROLL_OVER, onOver);
addEventListener(MouseEvent.ROLL_OUT, onOut);
}
private function draw(clr:uint):void
{
graphics.clear();
graphics.beginFill(clr);
graphics.drawRect(0, 0, 60, 20);
}
private function onOut(e:MouseEvent):void
{
draw(0xC0C0C0);
}
private function onOver(e:MouseEvent):void
{
draw(0x808080);
}
private function onClick(e:MouseEvent):void
{
filters = [new GlowFilter()];
mouseEnabled = false;
if (_currentSelected)
{
_currentSelected.mouseEnabled = true;
_currentSelected.filters = [];
}
_currentSelected = this;
}
}
как-то не подумал, что это совсем уж узкий случай, твой вариант универсальнее, согласен