Actionscript 3.0 编程实例一 Timer应用 (写给初学的朋友)

代码直接可以运行

 

package
{
 import flash.display.Sprite;
 import flash.events.TimerEvent;
 import flash.utils.Timer;
 import flash.utils.getTimer;
 public class timerTest extends Sprite
 {
  private var _previousTime:Number=0;
  private var _sque:Sprite;
  private var _circle:Sprite;// for create more _circle
  private var _circleTime:Timer;
  public function timerTest()
  {
   var tTimer:Timer=new Timer(500,10);
   tTimer.addEventListener(TimerEvent.TIMER,timeEvent);
   tTimer.start();
   _sque=new Sprite();
   _sque.graphics.beginFill(7909449,1);
   _sque.graphics.drawRect(0,0,200,120);
   _sque.graphics.endFill();
   addChild(_sque);
   _circle=new Sprite();
   _circle.graphics.beginFill(5408832,1);
   _circle.graphics.drawCircle(100,100,50);
   _circle.graphics.endFill();
   addChild(_circle);
   var _squeTime:Timer=new  Timer(10,2000);
   _squeTime.addEventListener(TimerEvent.TIMER,squeOnTime);
    _circleTime=new Timer(50,90000);
   _circleTime.addEventListener(TimerEvent.TIMER,circleOnTime);
   _circleTime.start();
   _squeTime.start();  
  }
  private function squeOnTime(event:TimerEvent):void{
   //_sque.x=Math.random()*310;
   //_sque.y=Math.random()*410;
  }
  private function circleOnTime(event:TimerEvent):void{
   
   if(_circleTime.currentCount<31)
   {
   _circle.x+=10;
   }
   if(_circle.x>100)
   {
    _circleTime.delay=2;
   }
   else
   {
   _circleTime.delay=50;
   }
   if(_circle.x>299)
   {
    _circle.y++;
    trace(_circle.y);
   }
   if(_circle.y>200)
   {
    _circle.x-=6;
    _circle.y=201;
   }
   trace(_circleTime.delay);
   //else if((_circle)&&())
  }
  private function timeEvent(event:TimerEvent):void{
   trace("baby!");
   trace(flash.utils.getTimer()-_previousTime);
   _previousTime=flash.utils.getTimer();
   graphics.lineStyle(1,0,1);
   //graphics.lineTo(Math.random()*400,Math.random()*600);//line to a line
  }

 }
}

posted @ 2009-03-23 15:11  chinachen  阅读(1705)  评论(0编辑  收藏  举报