flash on 2012-6-8
♥0 |
Line 82 |
Modified 2012-06-08 00:29:24 |
MIT License
archived:2017-03-20 15:18:08
ActionScript3 source code
/**
* Copyright jokehn9 ( http://wonderfl.net/user/jokehn9 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/xAsr
*/
// forked from jokehn9's temp
package {
import flash.geom.ColorTransform;
import flash.geom.Matrix;
import flash.filters.BlurFilter;
import flash.geom.Point;
import flash.utils.Proxy;
import flash.display.Bitmap;
import flash.display.BitmapData;
import flash.events.Event;
import flash.display.Shape;
import flash.display.Sprite;
public class FlashTest extends Sprite {
private var bitmapDat:BitmapData = new BitmapData(465,465,true,0x0);
private var bitmap:Bitmap = new Bitmap(bitmapDat);
private var dark:BitmapData = new BitmapData(465,465,false,0x0);
private var shape:Shape;
private var arr:Array = [];
private const num:int = 100;
private var canvas:BitmapData = new BitmapData(465,465,true,0x0);
private var toT:ColorTransform = new ColorTransform(0.9,0.9,0.9,0.95,0,0,0,0);
public function FlashTest() {
// write as3 code here..
shape = new Shape();
addChild(new Bitmap(dark));
var p:Particle = new Particle();
var rc1:uint = 0xffff
for(var i:int = 0;i<num; i++) {
arr[i] = new Particle;
arr[i].x = arr[i].prevx = Math.random() *700;
arr[i].y = arr[i].prevy = Math.random() * (-100);
arr[i].color = rc1;
arr[i].speedX = Math.random() * (-1) -2;
arr[i].speedY = Math.random() * 5;
arr[i].prevx = arr[i].x;
arr[i].prevy = arr[i].y;
}
addChild(bitmap);
addEventListener("enterFrame",ff);
}
private function ff(e:Event):void {
//움직인다.
var p:Particle;
var dx:Number,dy:Number;
var d:Number = 0;
for(var i:int = 0; i<num;i++) {
p = arr[i];
dx = 0;
dy = 0.2;
p.speedY += dy;
p.x += p.speedX;
p.y += p.speedY;
if(p.y > 465) {
p.x = Math.random() * 700;
p.y = Math.random() * ( -100);
p.speedY = Math.random() * 5;
p.speedX = Math.random() * (-1) -2;
p.prevx = p.x;
p.prevy = p.y;
}
}
//그린다
shape.graphics.clear();
//
shape.graphics.lineStyle(3,0x0);
for(i = 0; i< num;i++) {
shape.graphics.lineStyle(1,arr[i].color,1);
shape.graphics.moveTo(arr[i].prevx,arr[i].prevy);
shape.graphics.lineTo(arr[i].x,arr[i].y);
arr[i].prevx = arr[i].x
arr[i].prevy = arr[i].y
}
bitmapDat.draw(shape,shape.transform.matrix);
bitmapDat.colorTransform(bitmapDat.rect,toT);
bitmapDat.applyFilter(bitmapDat,bitmapDat.rect,new Point,new BlurFilter(3,3,1));
}
}
}
class Particle {
public var x:Number = 0;
public var y:Number = 0;
public var speedX:Number = 0;
public var speedY:Number = 0;
public var prevx:Number = 0;
public var prevy:Number = 0;
public var color:uint;
}