私があなたを正しく理解していれば、カスタムボタンクラスを作成しようとしています:
そのため、flash.display.Sprite を拡張してから、4 つの DiplayObjects (MovicLip または Sprite または Bitmap) を各状態の上、上などに追加し、適切なマウス イベント MouseEvent.ROLL_OVER、MouseEvent.ROLL_OUT などをリッスンすることができます。必要に応じて 4 つのディスプレイの表示を切り替えます。また、タイムラインに状態を設定し、flash.display.Movieclip を拡張するドキュメント クラスを作成し、さまざまなマウス イベントをリッスンして、gotoAndStop(frame/label); を呼び出します。例: 2 番目のソリューションを使用し、fla over、up、down、click に 4 つの異なる状態を設定するとします。
package
{
import flash.display.MovieClip;
import flash.events.Event;
import flash.events.MouseEvent;
public class MyCustomButton extends MovieClip
{
public function MyCustomButton()
{
if(stage)init();
else this.addEventListener(Event.ADDED_TO_STAGE, init);
}
protected function init(event:Event=null):void
{
this.addEventListener(MouseEvent.ROLL_OVER,onOver);
this.addEventListener(MouseEvent.ROLL_OUT,onOut);
this.addEventListener(MouseEvent.CLICK,onClick);
this.addEventListener(MouseEvent.MOUSE_DOWN,onDown);
}
protected function onDown(event:MouseEvent):void
{
// gotoAndStop("down") or gotoAndPlay("down")
}
protected function onClick(event:MouseEvent):void
{
// gotoAndStop("click") or gotoAndPlay("click")
}
protected function onOut(event:MouseEvent):void
{
// gotoAndStop("out") or gotoAndPlay("out")
}
protected function onOver(event:MouseEvent):void
{
// gotoAndStop("over") or gotoAndPlay("over")
}
}
}