flash动画:鼠标放上去图像慢慢变大,鼠标移走时图像慢慢缩小 失灵的问题!
imgLoader.addEventListener(MouseEvent.MOUSE_OVER, mouseOverFun,false,4); imgLoader.addEventListener(MouseEvent.MOUSE_OUT, mouseOutFun, false, 3); private function mouseOverFun(event:MouseEvent):void { imgLoader.addEventListener(Event.ENTER_FRAME, enlarge, false, 2); } //鼠标移出时缩小 private function mouseOutFun(event:MouseEvent):void { imgLoader.addEventListener(Event.ENTER_FRAME, deflate,false,1); } private function deflate(event:Event):void { if(imgLoader.width > currentWidth){ imgLoader.width -= 2; imgLoader.height -= 2; }else imgLoader.removeEventListener(Event.ENTER_FRAME, deflate); } private function enlarge(event:Event):void { if (imgLoader.width < maxWidth){ imgLoader.width += 2; imgLoader.height += 2; }else imgLoader.removeEventListener(Event.ENTER_FRAME, enlarge); }
package { import flash.display.Sprite; import flash.events.Event; import flash.events.MouseEvent; public class piczoom extends Sprite { private var pic:Pic2zoom; private var lock:Boolean=false; private var dir:Number=-1; public function piczoom() { pic=new Pic2zoom(); pic.x=stage.stageWidth-pic.width/2; pic.y=stage.stageHeight-pic.height/2; pic.scaleX=0.5; pic.scaleY=0.5; stage.addChild(pic); pic.addEventListener(MouseEvent.MOUSE_OVER,changedir); pic.addEventListener(MouseEvent.MOUSE_OUT,changedir); } private function changedir(e:MouseEvent):void { if (! lock) { lock=true; dir=0-dir; pic.addEventListener(Event.ENTER_FRAME,zoom); } } private function zoom(e:Event):void { pic.scaleX+=dir*0.01; pic.scaleY+=dir*0.01; if (pic.scaleX>=1||pic.scaleY>=1||pic.scaleX<=0.5||pic.scaleY<=0.5) { pic.removeEventListener(Event.ENTER_FRAME,zoom); lock=false; } } }}