闪烁的星空
//发光滤镜、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"));//抛出加载完成的信号
}
}
}
浙公网安备 33010602011771号