Из вашего кода не понятно каким образом кнопки могут поменять состояние enabled / disabled. А так, ну вот, наверное...

Код AS3:
package tests
{
//{ imports
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.utils.Dictionary;
//}
/**
* ButtonsExample class.
* @author wvxvw
* @langVersion 3.0
* @playerVersion 10.0.32
*/
public class ButtonsExample extends Sprite
{
//--------------------------------------------------------------------------
//
// Protected properties
//
//--------------------------------------------------------------------------
protected var _buttons:Dictionary = new Dictionary();
//--------------------------------------------------------------------------
//
// Constructor
//
//--------------------------------------------------------------------------
public function ButtonsExample()
{
super();
var startButt:MovieClip = new StartGameButton();
super.addChild(startButt);
startButt.x = 50;
startButt.y = 350;
this._buttons[startButt] = true;
startButt.addEventListener(MouseEvent.MOUSE_DOWN, this.mouseUpDownHandler);
var helpButt:MovieClip = new HelpButton();
super.addChild(helpButt);
helpButt.x = 500;
helpButt.y = 350;
this._buttons[helpButt] = true;
helpButt.addEventListener(MouseEvent.MOUSE_DOWN, this.mouseUpDownHandler);
}
//--------------------------------------------------------------------------
//
// Protected methods
//
//--------------------------------------------------------------------------
protected function mouseUpDownHandler(event:MouseEvent):void
{
var m:MovieClip = event.target as MovieClip;
if (!this._buttons[m])
{
trace("Button disabled");
return;
}
switch (event.type)
{
case MouseEvent.MOUSE_DOWN:
m.gotoAndStop(2);
break;
case MouseEvent.MOUSE_UP:
m.gotoAndStop(1);
break;
}
}
}
}
Соответсвенно импорт нужно дописать, если нужно.