Section 1
//BaseImage (BaseImage)
package {
import flash.display.*;
public dynamic class BaseImage extends BitmapData {
public function BaseImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 2
//BG (BG)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class BG extends Sprite {
var scP:Point;
var cntY:int;// = 0
var cntX:int;// = 0
var roopX:Point;
var scRect:Rectangle;
var clone:BitmapData;
var grad:Grad;
var blend:BitmapData;
var p:Point;
var frame:GridFrame;
var tx:int;// = -1
private var bmd:BgImage;
var alphaLayer:BitmapData;
var ty:int;// = 1
var bmp:Bitmap;
var rect:Rectangle;
var frameBmp:Bitmap;
public function BG(){
bmd = new BgImage(480, 640);
p = new Point(0, 0);
rect = new Rectangle(0, 0, 480, 640);
clone = new BitmapData(rect.width, rect.height, false, 0xFFFFFF);
tx = -1;
ty = 1;
cntX = 0;
cntY = 0;
scRect = new Rectangle(0, 0, 480, 640);
scP = new Point(0, 0);
roopX = new Point((rect.width + tx), 0);
alphaLayer = new BitmapData(rect.width, rect.height, true, 4294953984);
blend = new BitmapData(rect.width, rect.height);
grad = new Grad(rect.width, rect.height);
frame = new GridFrame(rect.width, rect.height);
frameBmp = new Bitmap(frame);
bmp = new Bitmap(blend);
super();
this.addEventListener(Event.ADDED_TO_STAGE, onInit);
}
function _enterFrame():void{
clone.copyPixels(bmd, rect, p);
bmd.lock();
bmd.scroll(tx, 0);
bmd.copyPixels(clone, rect, roopX);
clone.copyPixels(bmd, rect, p);
bmd.scroll(0, ty);
bmd.copyPixels(clone, scRect, p);
bmd.unlock();
blend.copyPixels(bmd, rect, p, alphaLayer, p, false);
}
function onInit(_arg1:Event):void{
this.graphics.beginFill(0xFFFFFF);
this.graphics.drawRect(0, 0, rect.width, rect.height);
this.graphics.endFill();
addChild(bmp);
scRect.height = ty;
scRect.y = (rect.height - ty);
alphaLayer.copyPixels(grad, rect, p);
alphaLayer.copyChannel(alphaLayer, rect, p, 1, BitmapDataChannel.ALPHA);
}
}
}//package
Section 3
//BgImage (BgImage)
package {
import flash.display.*;
public dynamic class BgImage extends BitmapData {
public function BgImage(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 4
//Body (Body)
package {
import flash.display.*;
public dynamic class Body extends MovieClip {
}
}//package
Section 5
//Brush (Brush)
package {
import flash.display.*;
public dynamic class Brush extends MovieClip {
}
}//package
Section 6
//Btn (Btn)
package {
import flash.display.*;
public class Btn extends Sprite {
}
}//package
Section 7
//CoverImage (CoverImage)
package {
import flash.display.*;
import flash.geom.*;
public class CoverImage extends Sprite {
var shAlpha:BitmapData;
var shBlend:BitmapData;
var brushLayer:Sprite;
var brush:Brush;
var shadowBmd:BitmapData;
var blend:BitmapData;
var point:Point;
var alphaLayer:BitmapData;
var bmp:Bitmap;
var cover:BitmapData;
var maskLayer:BitmapData;
var shMask:BitmapData;
var rect:Rectangle;
var shBmp:Bitmap;
public function CoverImage(_arg1:BitmapData, _arg2:BitmapData){
brush = new Brush();
brushLayer = new Sprite();
rect = new Rectangle(0, 0, 480, 640);
point = new Point(0, 0);
blend = new BitmapData(480, 640, true, 0);
maskLayer = new BitmapData(480, 640, true, 4294967295);
alphaLayer = new BitmapData(480, 640, false, 0xFFFFFF);
bmp = new Bitmap(blend);
shMask = new BitmapData(480, 640, true, 4294967295);
shBlend = new BitmapData(480, 640, true, 0);
shAlpha = new BitmapData(480, 640, false, 0xFFFFFF);
shBmp = new Bitmap(shBlend);
super();
cover = _arg1;
shadowBmd = _arg2;
blend.copyPixels(cover, rect, point, maskLayer, point, true);
addChild(shBmp);
shBmp.blendMode = BlendMode.MULTIPLY;
addChild(bmp);
}
function init():void{
maskLayer.fillRect(rect, 4294967295);
alphaLayer.fillRect(rect, 0xFFFFFF);
blend.copyPixels(cover, rect, point, maskLayer, point, false);
shMask.fillRect(rect, 4294967295);
shAlpha.fillRect(rect, 4294967295);
shBlend.copyPixels(shadowBmd, rect, point, shMask, point, false);
Main(parent).maskedBmd.copyPixels(blend, rect, point);
}
public function _setMask(_arg1:BitmapData, _arg2:int, _arg3:int, _arg4:int, _arg5:int, _arg6:BitmapData, _arg7:int, _arg8:int, _arg9:int, _arg10:int):void{
var _local11:Point;
var _local12:Rectangle;
var _local13:Point;
var _local14:Rectangle;
_local11 = new Point(_arg9, _arg10);
_local12 = new Rectangle(0, 0, _arg7, _arg8);
shAlpha.copyPixels(_arg6, _local12, _local11);
shMask.copyPixels(shAlpha, rect, point);
shMask.copyChannel(shMask, rect, point, BitmapDataChannel.RED, BitmapDataChannel.ALPHA);
shBlend.copyPixels(shadowBmd, rect, point, shMask, point, false);
_local13 = new Point(_arg4, _arg5);
_local14 = new Rectangle(0, 0, _arg2, _arg3);
alphaLayer.copyPixels(_arg1, _local14, _local13);
maskLayer.lock();
maskLayer.copyPixels(alphaLayer, rect, point);
maskLayer.copyChannel(maskLayer, rect, point, BitmapDataChannel.RED, BitmapDataChannel.ALPHA);
maskLayer.unlock();
blend.copyPixels(cover, rect, point, maskLayer, point, false);
Main(parent).maskedBmd.copyPixels(blend, rect, point);
}
function addShadow(_arg1:BitmapData):void{
shadowBmd = _arg1;
}
function clear():void{
var _local1:*;
_local1 = Sprite(this.parent);
_local1.setCover();
}
public function onUp():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:uint;
_local1 = 0;
_local2 = 0;
while (_local2 <= 48) {
_local3 = 0;
while (_local3 <= 64) {
_local4 = blend.getPixel((_local2 * 10), (_local3 * 10));
if (_local4 == 0){
_local1++;
};
_local3++;
};
_local2++;
};
trace(_local1);
if (_local1 > 300){
clear();
};
}
}
}//package
Section 8
//Fragment (Fragment)
package {
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
public class Fragment extends Sprite {
private var _x:Number;
private var rect:Rectangle;
private var copyImg:BitmapData;
public var id:int;// = 0
private var shadowRect:Rectangle;
private var fragBmd:BitmapData;
private var fragBmp:Bitmap;
private var brush:Sprite;
private var shadowBmd:BitmapData;
private var mat:Matrix;
private var p:Point;
public var wait:Boolean;// = false
private var g:Number;// = 0
private var acRot:Number;// = 0
private var acc:Number;// = 0
public var cnt:uint;// = 0
private var brushWrap:Sprite;
private var shb:Sprite;
private var glow:GlowFilter;
private var cover:CoverImage;
public var main:Main;
private var base:BitmapData;
public var index:uint;
private var _rotation:Number;
private var maskBmd:BitmapData;
private var frag:Sprite;
private var _y:Number;
public function Fragment(_arg1:BitmapData, _arg2:CoverImage, _arg3:Main){
brush = new Brush();
brushWrap = new Sprite();
shb = new Sprite();
frag = new Sprite();
p = new Point(0, 0);
mat = new Matrix();
glow = new GlowFilter(16751001, 1, 2, 2, 8, 1, false, false);
acc = 0;
acRot = 0;
g = 0;
id = 0;
cnt = 0;
wait = false;
super();
cover = _arg2;
base = _arg1;
main = _arg3;
addChild(frag);
brushWrap.addChild(brush);
frag.mouseEnabled = false;
}
function _enterFrame():void{
if (wait == false){
cnt++;
if (cnt == ((id * 2) + 5)){
_y = -10;
acRot = (10 * _x);
acc = 8;
g = 2;
wait = true;
};
} else {
cnt = 0;
frag.rotation = (frag.rotation + acRot);
frag.x = (frag.x + (_x * acc));
frag.y = (frag.y + (_y + g));
acc = (acc * 0.98);
g = (g * 1.1);
};
if (frag.y > 640){
standBy();
} else {
if (frag.y < 640){
if (frag.x > 500){
standBy();
} else {
if (frag.x < -30){
standBy();
};
};
};
};
}
function setPosition(_arg1:BitmapData, _arg2:Number, _arg3:Number, _arg4:int):void{
base = _arg1;
frag.x = ((_arg2 + (Math.random() * 20)) - 10);
frag.y = ((_arg3 + (Math.random() * 20)) - 10);
frag.rotation = 0;
_x = (((Math.random() * 2) + 0.5) | 0);
_x = ((_x > 1)) ? -1 : _x;
_x = (_x * (Math.random() * 2));
id = _arg4;
index = id;
wait = false;
cnt = (_y = (acRot = (acc = (g = 0))));
setFragment();
}
function standBy(){
wait = true;
frag.x = (frag.y = -2000);
cnt = (_x = (_y = (acRot = (acc = (g = 0)))));
main.disposeFragment(this);
}
public function setFragment():void{
brush.rotation = (Math.random() * 360);
brush.scaleX = (brush.scaleY = ((Math.random() * 2) + 1));
rect = brushWrap.getBounds(this);
rect.x = (frag.x - (rect.width * 0.5));
rect.y = (frag.y - (rect.height * 0.5));
if (copyImg != null){
copyImg.dispose();
};
fragBmd = new BitmapData(rect.width, rect.height, true, 0xFFFFFF);
copyImg = new BitmapData(rect.width, rect.height, true, 0);
mat.tx = (rect.width * 0.5);
mat.ty = (rect.height * 0.5);
fragBmd.lock();
fragBmd.draw(brushWrap, mat);
fragBmd.unlock();
copyImg.copyPixels(base, rect, p, fragBmd, p, true);
fragBmp = new Bitmap(copyImg);
brush.rotation = (Math.random() * 360);
brush.scaleX = (brush.scaleY = 1.5);
shadowRect = brushWrap.getBounds(this);
shadowRect.x = (frag.x - (shadowRect.width * 0.5));
shadowRect.y = (frag.y - (shadowRect.height * 0.5));
shadowBmd = new BitmapData(shadowRect.width, shadowRect.height, true, 0xFFFFFF);
mat.tx = (shadowRect.width * 0.5);
mat.ty = (shadowRect.height * 0.5);
shadowBmd.draw(brushWrap, mat);
cover._setMask(fragBmd, fragBmd.width, fragBmd.height, rect.x, rect.y, shadowBmd, shadowBmd.width, shadowBmd.height, shadowRect.x, shadowRect.y);
rect.x = (rect.y = 0);
copyImg.lock();
copyImg.applyFilter(copyImg, rect, p, glow);
copyImg.unlock();
fragBmp.x = (-(rect.width) * 0.5);
fragBmp.y = (-(rect.height) * 0.5);
frag.addChild(fragBmp);
}
}
}//package
Section 9
//FragPool (FragPool)
package {
import flash.display.*;
public class FragPool extends Sprite {
var pool:Array;
var FragArray:Array;
var bmd:BitmapData;
var cover:CoverImage;
var main:Main;
public function FragPool(){
pool = [];
FragArray = [];
super();
}
function init(_arg1:uint, _arg2:BitmapData, _arg3:CoverImage, _arg4:Main):void{
var _local5:uint;
bmd = _arg2;
cover = _arg3;
main = _arg4;
pool = new Array(_arg1);
_local5 = 0;
while (_local5 < _arg1) {
pool[_local5] = new Fragment(bmd, cover, main);
addChild(pool[_local5]);
_local5++;
};
}
public function fragPool(){
}
public function disposeFragment(_arg1:Fragment):void{
pool.reverse();
pool.push(_arg1);
pool.reverse();
}
public function getFragment():Fragment{
var _local1:Fragment;
if (pool.length){
_local1 = pool.pop();
} else {
_local1 = new Fragment(bmd, cover, main);
};
return (_local1);
}
}
}//package
Section 10
//Grad (Grad)
package {
import flash.display.*;
public dynamic class Grad extends BitmapData {
public function Grad(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 11
//GridFrame (GridFrame)
package {
import flash.display.*;
public dynamic class GridFrame extends BitmapData {
public function GridFrame(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 12
//Line (Line)
package {
import flash.display.*;
import flash.geom.*;
import flash.filters.*;
public class Line extends Sprite {
private var deg:uint;// = 0
private var rad:Number;
public var sp:Point;
private var cos:Number;
private var glow:GlowFilter;
public var ep:Point;
public function Line(){
sp = new Point(0, 0);
ep = new Point(0, 0);
deg = 0;
glow = new GlowFilter(0xFF0000, 1, 4, 4, 2, 1, false, false);
super();
this.blendMode = "add";
}
function setGlow():void{
deg = (deg + 2);
rad = ((deg * Math.PI) / 180);
cos = Math.cos(rad);
cos = ((cos < 0)) ? -(cos) : cos;
glow.blurX = (glow.blurY = ((cos * 8) + 2));
this.filters = [glow];
}
function beginLine(_arg1:int, _arg2:int):void{
sp.x = _arg1;
sp.y = _arg2;
}
function moveLine(_arg1:Point):void{
ep = _arg1;
this.graphics.clear();
this.graphics.lineStyle(1, 0xFFFFFF);
this.graphics.moveTo(sp.x, sp.y);
this.graphics.lineTo(ep.x, ep.y);
}
function clearLine():void{
this.graphics.clear();
}
}
}//package
Section 13
//Logo (Logo)
package {
import flash.display.*;
public dynamic class Logo extends MovieClip {
}
}//package
Section 14
//Main (Main)
package {
import flash.events.*;
import flash.display.*;
import flash.geom.*;
public class Main extends Sprite {
var deg:Number;// = 0
var shadowImage:Bitmap;
var pool:FragPool;
var line:Line;
var rad:Number;// = 0
var bg:BG;
var shadowBmd:BitmapData;
var coverBmd:BitmapData;
var sp:Point;
var btn:Btn;
var st:Stage;
var p:Point;
var fragLength:int;// = 0
var sh:Sh;
var fragArray:Array;
var r:Number;// = 0
var body:Body;
var cover:CoverImage;
var logo:Logo;
var fragNumber:int;// = 80
var rect:Rectangle;
var maskedBmd:BitmapData;
var baseBmd:BitmapData;
public function Main(){
line = new Line();
btn = new Btn();
pool = new FragPool();
fragArray = [];
fragNumber = 80;
fragLength = 0;
rect = new Rectangle(0, 0, 480, 640);
sp = new Point(0, 0);
p = new Point(0, 0);
rad = 0;
deg = 0;
r = 0;
shadowBmd = new Shadow(rect.width, rect.height);
sh = new Sh(rect.width, rect.height);
shadowImage = new Bitmap(shadowBmd);
coverBmd = new Wear(rect.width, rect.height);
cover = new CoverImage(coverBmd, sh);
bg = new BG();
maskedBmd = new BitmapData(rect.width, rect.height, true, 0);
baseBmd = new BaseImage(rect.width, rect.height);
body = new Body();
logo = new Logo();
super();
this.addEventListener(Event.ADDED_TO_STAGE, onInit);
}
function init(_arg1:MouseEvent):void{
cover.init();
body.gotoAndStop(1);
}
function _enterFrame(_arg1:Event):void{
var _local2:uint;
line.setGlow();
bg._enterFrame();
if (fragLength){
_local2 = 0;
while (_local2 < fragLength) {
fragArray[_local2]._enterFrame();
_local2++;
};
};
}
function onDown(_arg1:MouseEvent):void{
sp.x = _arg1.target.mouseX;
sp.y = _arg1.target.mouseY;
line.beginLine(sp.x, sp.y);
st.addEventListener(MouseEvent.MOUSE_MOVE, onMove);
}
function onMove(_arg1:MouseEvent):void{
p.x = _arg1.target.mouseX;
p.y = _arg1.target.mouseY;
line.moveLine(p);
getRotation();
}
function getRotation():void{
var _local1:int;
var _local2:int;
var _local3:int;
var _local4:Number;
_local1 = (p.x - sp.x);
_local2 = (p.y - sp.y);
if (_local1 == 0){
if (_local2 == 0){
rad = 0;
} else {
if (_local2 > 0){
rad = (Math.PI * 0.5);
} else {
if (_local2 < 0){
rad = ((Math.PI * 3) * 0.5);
};
};
};
} else {
_local3 = _local1;
_local3 = ((_local3 < 0)) ? -(_local3) : _local3;
_local4 = (_local2 / _local3);
rad = Math.atan(_local4);
if (_local1 < 0){
rad = (Math.PI - rad);
} else {
if (_local2 < 0){
rad = ((2 * Math.PI) + rad);
};
};
};
r = Math.sqrt(((_local1 * _local1) + (_local2 * _local2)));
deg = ((rad * 180) / Math.PI);
}
function onInit(_arg1:Event):void{
addChild(bg);
addChild(shadowImage);
addChild(body);
body.stop();
addChild(cover);
addChild(pool);
addChild(line);
addChild(btn);
addChild(logo);
logo.x = 10;
logo.y = 560;
st = stage;
shadowImage.blendMode = BlendMode.OVERLAY;
maskedBmd.copyPixels(coverBmd, rect, sp);
cover.mouseEnabled = false;
logo.mouseEnabled = false;
pool.init(fragNumber, baseBmd, cover, this);
st.addEventListener(MouseEvent.MOUSE_UP, onUP);
st.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
st.addEventListener(Event.ENTER_FRAME, _enterFrame);
btn.addEventListener(MouseEvent.CLICK, init);
btn.x = ((rect.width - btn.width) - 10);
btn.y = 10;
}
function disposeFragment(_arg1:Fragment):void{
var _local2:uint;
pool.disposeFragment(_arg1);
fragArray.splice(_arg1.index, 1);
fragLength = fragArray.length;
_local2 = 0;
while (_local2 < fragLength) {
fragArray[_local2].index = _local2;
_local2++;
};
}
function onUP(_arg1:MouseEvent):void{
setFragment();
st.removeEventListener(MouseEvent.MOUSE_MOVE, onMove);
line.clearLine();
}
function setFragment():void{
var _local1:Number;
var _local2:int;
var _local3:uint;
var _local4:Number;
var _local5:Number;
body.gotoAndStop(2);
_local1 = 8;
_local2 = (((r / _local1) + 0.5) | 0);
_local3 = 0;
while (_local3 < _local2) {
_local4 = (((Math.cos(rad) * _local1) * _local3) + sp.x);
_local5 = (((Math.sin(rad) * _local1) * _local3) + sp.y);
fragArray.push(pool.getFragment());
fragLength = fragArray.length;
fragArray[(fragLength - 1)].setPosition(maskedBmd, _local4, _local5, _local3);
_local3++;
};
r = (rad = 0);
}
}
}//package
Section 15
//Sh (Sh)
package {
import flash.display.*;
public dynamic class Sh extends BitmapData {
public function Sh(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 16
//Shadow (Shadow)
package {
import flash.display.*;
public dynamic class Shadow extends BitmapData {
public function Shadow(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package
Section 17
//Wear (Wear)
package {
import flash.display.*;
public dynamic class Wear extends BitmapData {
public function Wear(_arg1:Number, _arg2:Number){
super(_arg1, _arg2);
}
}
}//package