76 lines
1.5 KiB
ActionScript
76 lines
1.5 KiB
ActionScript
package {
|
|
import flash.display.MovieClip;
|
|
import flash.events.MouseEvent;
|
|
import flash.events.EventDispatcher;
|
|
import flash.events.Event;
|
|
|
|
public class ToggleButton extends MovieClip
|
|
{
|
|
private var isToggled:Boolean = false;
|
|
private var hit_mc:MovieClip;
|
|
private var hit_test:MovieClip;
|
|
|
|
public function ToggleButton()
|
|
{
|
|
this.stop();
|
|
if (hit_test == null)
|
|
setTB(this);
|
|
else
|
|
setTB(hit_test);
|
|
}
|
|
|
|
private function setTB(hitTest_mc:MovieClip)
|
|
{
|
|
hitTest_mc.mouseChildren = false;
|
|
hitTest_mc.buttonMode = true;
|
|
hitTest_mc.addEventListener(MouseEvent.MOUSE_OVER, OnMouseOver);
|
|
hitTest_mc.addEventListener(MouseEvent.MOUSE_OUT, OnMouseOut);
|
|
hitTest_mc.addEventListener(MouseEvent.MOUSE_DOWN, OnMouseDown);
|
|
hitTest_mc.addEventListener(MouseEvent.MOUSE_UP, OnMouseUp);
|
|
}
|
|
|
|
protected function OnMouseOver(evt:MouseEvent):void
|
|
{
|
|
if(!isToggled)
|
|
gotoAndStop(2);
|
|
else
|
|
gotoAndStop(6);
|
|
|
|
}
|
|
|
|
protected function OnMouseDown(evt:MouseEvent) :void
|
|
{
|
|
if(!isToggled)
|
|
gotoAndStop(3);
|
|
else
|
|
gotoAndStop(7);
|
|
}
|
|
|
|
protected function OnMouseOut(evt:MouseEvent) :void
|
|
{
|
|
if(!isToggled)
|
|
gotoAndStop(1);
|
|
else
|
|
gotoAndStop(5);
|
|
}
|
|
|
|
protected function OnMouseUp(evt:MouseEvent):void
|
|
{
|
|
if(!isToggled)
|
|
{
|
|
gotoAndStop(6);
|
|
}
|
|
else
|
|
{
|
|
this.gotoAndStop(2);
|
|
}
|
|
|
|
isToggled=!isToggled;
|
|
if (isToggled)
|
|
trace ("ON");
|
|
else
|
|
trace ("OFF");
|
|
}
|
|
}
|
|
}
|