package { import flash.display.MovieClip; import flash.events.MouseEvent; public class TwoStateButton extends MovieClip { public var isDown:Boolean = false; public function TwoStateButton() { super(); addEventListener(MouseEvent.MOUSE_OVER, overShoppingButton); addEventListener(MouseEvent.MOUSE_OUT, outShoppingButton); addEventListener(MouseEvent.MOUSE_DOWN, upShoppingButton); stop(); } private function overShoppingButton(e:MouseEvent):void { trace("over"); if(isDown){ gotoAndStop(4); } else { gotoAndStop(2); } } private function outShoppingButton(e:MouseEvent):void { trace("out"); if(isDown){ gotoAndStop(3); } else { gotoAndStop(1); } } private function upShoppingButton(e:MouseEvent):void { trace("up"); isDown ? isDown = false : isDown = true; overShoppingButton(e); } } }