闪烁的星空

//发光滤镜、Timer、加载类、数组、随机数的混合运用

//主类

package
{
 import com.Onloader;
 
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.events.TimerEvent;
 import flash.filters.GlowFilter;
 import flash.utils.Timer;

 [SWF(width="800",height="600",backgroundColor="0x000000")]//动态改变舞台的大小和颜色
 
 public class ManTianXing extends Sprite
 {
  private var arr:Array=[];
  public function ManTianXing()
  {
   init();
  }
  private function init():void
  {
   for(var i:int;i<180; i++)//在舞台复制180个实例
   {
    var loader:Onloader=new Onloader("aa.swf");//通过路径加载到舞台上
    loader.addEventListener("JIA_ZAI_CHENG_GONG",onloaderHandler);//接受加载完成的信号
    arr.push(loader);//追加到数组末尾
    loader.x=Math.random()*800;//在那舞台内设置随机的x坐标
    loader.y=Math.random()*800;//在那舞台内设置随机的y坐标
    var faGuang:GlowFilter=new GlowFilter(0xffffff*Math.random(),1,15,15,2,1,false,false);//设置发光滤镜
    loader.filters=[faGuang];//把路径赋给实例
    loader.scaleX=Math.random()*0.7+0.3;//在0.3到1之间实例的x随机缩放
    loader.scaleY=Math.random()*0.7+0.3;
    loader.alpha=Math.random()*0.7+0.3;//在0.3到1之间实例的透明度随机改变
    addChild(loader);
   }
   var timer:Timer=new Timer(500);
   timer.start();//开始执行timer
   timer.addEventListener(TimerEvent.TIMER,onTimerHandler);
  }
  
  protected function onTimerHandler(event:TimerEvent):void
  {
   // TODO Auto-generated method stub
   for(var i:int=0;i<arr.length;i++)
   {
    var faGuang:GlowFilter=new GlowFilter(0xffffff*Math.random(),1,15,15,2,1,false,false);
    arr[i].filters=[faGuang];
   }
  }
  
  protected function onloaderHandler(event:Event):void
  {
   // TODO Auto-generated method stub
   
  }
  
 }
}

 

//副类

package com
{
 import flash.display.Loader;
 import flash.display.Sprite;
 import flash.events.Event;
 import flash.net.URLRequest;
 
 public class Onloader extends Sprite
 {
  private var loader:Loader;
  public function Onloader(str:String)
  {
   loader=new Loader;
   loader.load(new URLRequest(str));
   loader.contentLoaderInfo.addEventListener(Event.COMPLETE,onCompleteHandler);
   super();
  }
  
  protected function onCompleteHandler(event:Event):void
  {
   // TODO Auto-generated method stub
   trace("加载成功");
   addChild(loader);
   dispatchEvent(new Event("JIA_ZAI_CHENG_GONG"));//抛出加载完成的信号
  }
 }
}

posted on 2012-10-08 23:49  笔墨丹青  阅读(863)  评论(0)    收藏  举报

导航