와이퍼처럼 배경바꾸기
by greenass hansune

package {
 import flash.display.*;
 import flash.events.*;
 import flash.text.*;
 import flash.geom.Rectangle;
 import flash.net.*;
 import flash.errors.*;
 import flash.utils.*;
 import flash.geom.Matrix;
 import gradientBG;

 public class BgWiper extends Sprite {

  const viewW:Number = 1152;
  const viewH:Number = 720;

  var imgLoader:Loader;
  public var isIng:Boolean;

  public function BgWiper():void {

   isIng = false;

   var tempBD:BitmapData = new BitmapData(viewW,viewH,false,0xff000000);
   var tempImage:Bitmap = new Bitmap(tempBD);
   var MASK:gradientBG = new gradientBG(0,0,0,0,0,viewH,0,viewH,
   0,0,viewW,0,viewW,viewH,0,viewH);
   MASK.setGradient(GradientType.LINEAR,'0x000000','0x000000',1,1);
   tempImage.mask = MASK;
   this.addChild(tempImage);
   this.addChild(MASK);
   MASK.DRAW();
  }
  public function LOAD(url:String):void {
   if (!isIng) {
    isIng = true;
    imgLoader = new Loader();
    var request:URLRequest = new URLRequest(url);
    imgLoader.load(request);
    imgLoader.contentLoaderInfo.addEventListener(Event.COMPLETE,imgView);
   }
  }
  private function imgView(event:Event):void {
   var newImage:Bitmap = Bitmap(imgLoader.content); //<로더된 대상에 따라 성격이 다름, jpg 일 경우 Bitmap으로 변환가능
   var newMASK:gradientBG = new gradientBG(0,0,0,0,0,viewH,0,viewH,
   0,0,viewW,0,viewW,viewH,0,viewH);
   newMASK.setGradient(GradientType.LINEAR,'0x000000','0x000000',1,1);
   newImage.mask = newMASK;
   this.addChild(newImage);
   this.addChild(newMASK);
   newMASK.DRAW();
   newMASK.addEventListener(Event.ENTER_FRAME,drawChk);
  }
  private function drawChk(e:Event):void {
   if (e.currentTarget.chk) {
    e.currentTarget.removeEventListener(Event.ENTER_FRAME,drawChk);
    this.removeChildAt(0);
    this.removeChildAt(0);
    isIng = false;
   }
  }
 }
}