如果我理解正确,您正在尝试制作自定义按钮类:
所以你可以扩展一个 flash.display.Sprite 然后为每个状态添加 4 个 DiplayObjects(MovicLip 或 Sprite 或 Bitmap),向上等。然后监听适当的鼠标事件 MouseEvent.ROLL_OVER、MouseEvent.ROLL_OUT 等。 . 然后根据需要切换四个显示的可见性。还设置时间轴上的状态并制作扩展 flash.display.Movieclip 的文档类并监听不同的鼠标事件并调用 gotoAndStop(frame/label); 例如:假设您将使用第二种解决方案,并在您的 fla 中设置 4 种不同的状态 over、up、down 和 click
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")
}
}
}