自己写的三个效果,一个是逐渐消失,一个是移动离开,一个是转动离开

2009-06-19 16:26

小菜刚上手,写了三个flex里面已经有的效果。请大家不要见笑

package org.effect
{
/*
* 渐渐消失效果
*/
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.utils.Timer;

public class Fade
{
   private var tdisplay:Sprite;
   private var ttime:Number;
   private var setTime:Timer;
  
   public function Fade(display:Sprite,time:Number)
   {
    this.tdisplay=display;
    this.ttime=time;
   
    this.setTime=new Timer(this.ttime,30);
    this.setTime.addEventListener(TimerEvent.TIMER,onClick);
    this.setTime.addEventListener(TimerEvent.TIMER_COMPLETE,remove);
    this.setTime.start();
   }
  
   private function onClick(event:TimerEvent):void{
    this.tdisplay.alpha=(this.ttime-event.target.currentCount)/this.ttime;
   }
  
   private function remove(evt:TimerEvent):void{
    this.tdisplay.parent.removeChild(this.tdisplay);
   }

}
}

package org.effect
{
/*
* 移动离开效果
*/
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.utils.Timer;

public class Move
{
   private var tdisplay:Sprite;
   private var ttime:Number;
   private var setTime:Timer;
  
   public function Move(display:Sprite,time:Number)
   {
    this.tdisplay=display;
    this.ttime=time;
   
    this.setTime=new Timer(this.ttime,30);
    this.setTime.addEventListener(TimerEvent.TIMER,onClick);
    this.setTime.addEventListener(TimerEvent.TIMER_COMPLETE,remove);
    this.setTime.start();
   }
  
   private function onClick(event:TimerEvent):void{
    this.tdisplay.x=(event.target.currentCount/this.ttime)*2000;
   }
  
   private function remove(evt:TimerEvent):void{
    this.tdisplay.parent.removeChild(this.tdisplay);
   }

}
}

package org.effect
{
/*
* 转动消失效果
*/
import flash.display.Sprite;
import flash.events.TimerEvent;
import flash.utils.Timer;

public class Rotation
{
   private var tdisplay:Sprite;
   private var ttime:Number;
   private var setTime:Timer;
  
   public function Rotation(display:Sprite,time:Number)
   {
    this.tdisplay=display;
    this.ttime=time;
   
    this.setTime=new Timer(this.ttime,100);
    this.setTime.addEventListener(TimerEvent.TIMER,onClick);
    this.setTime.addEventListener(TimerEvent.TIMER_COMPLETE,remove);
    this.setTime.start();
   }
  
   private function onClick(event:TimerEvent):void{
    this.tdisplay.rotation=(event.target.currentCount/this.ttime)*180;
   }
  
   private function remove(evt:TimerEvent):void{
    this.tdisplay.parent.removeChild(this.tdisplay);
   }

}
}

其实三个效果都是同一个做法,就是用timer类,让 timer每隔一定时间,修改一下对象的属性。

原文地址:https://www.cnblogs.com/crkay/p/1747858.html