很长时间没有摸AS3.0了.自知快要落伍了, 于是下定决心利用有限的业余时间继续研究AS3.0. 整理一些常用的As3.0用法.目前关于AS3按钮的onReleaseOutside,整理了一下.如下:
package {
import flash.display.Sprite; import flash.events.MouseEvent; import flash.events.Event; import flash.display.Stage;
public class Wsbutton extends Sprite {
private var button:Sprite;
public function Wsbutton() { init();
} private function init():void { button=new Sprite(); button.graphics.beginFill(0x000000,1); button.graphics.drawRect(50,50,200,100); addChild(button);
button.buttonMode=true; button.addEventListener(MouseEvent.MOUSE_DOWN,buttonPress); button.addEventListener(MouseEvent.MOUSE_UP,buttonRelease); button.addEventListener(MouseEvent.MOUSE_OVER,buttonOver); button.addEventListener(MouseEvent.MOUSE_OUT,buttonOut); }
private function buttonPress(e:MouseEvent):void {
this.stage.addEventListener(MouseEvent.MOUSE_UP,buttonRelease);
}
private function buttonRelease(e:MouseEvent):void {
this.stage.removeEventListener(MouseEvent.MOUSE_UP,buttonRelease);
if (e.currentTarget != button) { trace('onReleasedOutside'); } else {
trace('onRelease'); }
}
private function buttonOver(e:MouseEvent):void { if (e.buttonDown) {
trace('onDragOver'); } else {
trace('onRollOver'); }
}
private function buttonOut(e:MouseEvent):void { if (e.buttonDown) { trace('onDragOut'); } else { trace('onRollOut'); }
} }
}
包括了dragover,dragout,onReleaseOutSide等状态.
|