forked from: forked from: Force Field

by hacker_zfj219fz forked from forked from: Force Field (diff: 1)
♥0 | Line 1 | Modified 2009-09-28 20:00:28 | MIT License
play

ActionScript3 source code

/**
 * Copyright hacker_zfj219fz ( http://wonderfl.net/user/hacker_zfj219fz )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/ccMB
 */

%2F%2F%20forked%20from%20hacker_zfj219fz's%20forked%20from%3A%20Force%20Field%0D%252F%252F%2520forked%2520from%2520Saqoosha's%2520Force%2520Field%250Dpackage%2520%257B%250D%2509%250D%2509import%2520__AS3__.vec.Vector%253B%250D%2509%250D%2509import%2520flash.display.Bitmap%253B%250D%2509import%2520flash.display.BitmapData%253B%250D%2509import%2520flash.display.BlendMode%253B%250D%2509import%2520flash.display.Graphics%253B%250D%2509import%2520flash.display.PixelSnapping%253B%250D%2509import%2520flash.display.Shape%253B%250D%2509import%2520flash.display.Sprite%253B%250D%2509import%2520flash.display.StageQuality%253B%250D%2509import%2520flash.events.Event%253B%250D%2509import%2520flash.events.TimerEvent%253B%250D%2509import%2520flash.filters.BlurFilter%253B%250D%2509import%2520flash.filters.ColorMatrixFilter%253B%250D%2509import%2520flash.filters.GlowFilter%253B%250D%2509import%2520flash.geom.ColorTransform%253B%250D%2509import%2520flash.geom.Matrix%253B%250D%2509import%2520flash.geom.Point%253B%250D%2509import%2520flash.utils.Timer%253B%250D%2509import%2520flash.utils.getTimer%253B%250D%2509%250D%2509import%2520frocessing.color.ColorHSV%253B%250D%2509%250D%2509import%2520net.hires.debug.Stats%253B%250D%2509%250D%2509%255BSWF(backgroundColor%253D0x0%252C%2520frameRate%253D60)%255D%250D%2509%250D%2509public%2520class%2520FlashTest%2520extends%2520Sprite%2520%257B%250D%2509%2509%250D%2509%2509private%2520static%2520const%2520ZERO_POINT%253APoint%2520%253D%2520new%2520Point()%253B%250D%2509%2509%250D%2509%2509private%2520static%2520const%2520MAP_SCALE%253ANumber%2520%253D%25200.25%253B%250D%2509%2509private%2520static%2520const%2520TRAIL_SCALE%253ANumber%2520%253D%25202%253B%250D%2509%2509private%2520static%2520const%2520DRAW_SCALE%253ANumber%2520%253D%25200.5%253B%250D%2509%2509%250D%2509%2509private%2520var%2520_timer%253ATimer%253B%250D%2509%2509private%2520var%2520_seed%253ANumber%2520%253D%2520new%2520Date().getTime()%253B%250D%2509%2509private%2520var%2520_offsets%253AArray%2520%253D%2520%255Bnew%2520Point()%252C%2520new%2520Point()%255D%253B%250D%2509%2509private%2520var%2520_forcemap%253ABitmapData%253B%250D%2509%2509private%2520var%2520_count%253Aint%2520%253D%25200%253B%250D%2509%2509%250D%2509%2509private%2520var%2520_particles%253AVector.%253CParticle%253E%253B%250D%2509%2509private%2520var%2520_canvas%253AShape%253B%250D%2509%2509private%2520var%2520_fade%253ABitmapData%253B%250D%2509%2509private%2520var%2520_darken%253AColorMatrixFilter%2520%253D%2520new%2520ColorMatrixFilter(%255B%250D%2509%25091%252C%25200%252C%25200%252C%25200%252C%2520-2%252C%250D%2509%25090%252C%25201%252C%25200%252C%25200%252C%2520-2%252C%250D%2509%25090%252C%25200%252C%25201%252C%25200%252C%2520-2%252C%250D%2509%25090%252C%25200%252C%25200%252C%25201%252C%25200%250D%2509%2509%255D)%253B%250D%2509%2509private%2520var%2520_blur%253ABlurFilter%2520%253D%2520new%2520BlurFilter(2%252C%25202%252C%25201)%253B%250D%2509%2509%250D%2509%2509private%2520var%2520_drawMatrix%253AMatrix%2520%253D%2520new%2520Matrix(DRAW_SCALE%252C%25200%252C%25200%252C%2520DRAW_SCALE%252C%25200%252C%25200)%253B%250D%2509%2509private%2520var%2520_drawColor%253AColorTransform%2520%253D%2520new%2520ColorTransform(0.1%252C%25200.1%252C%25200.1)%253B%250D%2509%2509%250D%2509%2509public%2520function%2520FlashTest()%2520%257B%250D%252F%252F%2509%2509%2509this.stage.quality%2520%253D%2520StageQuality.MEDIUM%253B%250D%2509%2509%2509%250D%2509%2509%2509this._timer%2520%253D%2520new%2520Timer(500%252C%25200)%253B%250D%2509%2509%2509this._timer.addEventListener(TimerEvent.TIMER%252C%2520this._onTimer)%253B%250D%2509%2509%2509this._timer.start()%253B%250D%2509%2509%2509this._forcemap%2520%253D%2520new%2520BitmapData(475%2520*%2520MAP_SCALE%252C%2520475%2520*%2520MAP_SCALE%252C%2520false%252C%25200x0)%253B%250D%252F%252F%2509%2509%2509this.addChild(new%2520Bitmap(this._forcemap))%253B%250D%2509%2509%2509%250D%2509%2509%2509this._particles%2520%253D%2520new%2520Vector.%253CParticle%253E()%253B%250D%2509%2509%2509%250D%2509%2509%2509this._fade%2520%253D%2520new%2520BitmapData(475%2520*%2520DRAW_SCALE%252C%2520475%2520*%2520DRAW_SCALE%252C%2520false%252C%25200x0)%253B%250D%2509%2509%2509var%2520bm%253ABitmap%2520%253D%2520this.addChild(new%2520Bitmap(this._fade%252C%2520PixelSnapping.AUTO%252C%2520true))%2520as%2520Bitmap%253B%250D%2509%2509%2509bm.scaleX%2520%253D%2520bm.scaleY%2520%253D%25201%2520%252F%2520DRAW_SCALE%253B%250D%2509%2509%2509%250D%2509%2509%2509this._canvas%2520%253D%2520this.addChild(new%2520Shape())%2520as%2520Shape%253B%250D%2509%2509%2509this._canvas.blendMode%2520%253D%2520BlendMode.ADD%253B%250D%252F%252F%2509%2509%2509this._canvas.filters%2520%253D%2520%255Bnew%2520GlowFilter(0xffffff%252C%25201%252C%25202%252C%25202%252C%25202)%255D%253B%250D%2509%2509%2509%250D%2509%2509%2509this.addEventListener(Event.ENTER_FRAME%252C%2520this._onEnterFrame)%253B%250D%2509%2509%2509%250D%2509%2509%2509this.stage.addChild(new%2520Stats())%253B%250D%2509%2509%257D%250D%2509%2509%250D%2509%2509private%2520function%2520_onTimer(e%253ATimerEvent%2520%253D%2520null)%253Avoid%2520%257B%250D%2509%2509%2509var%2520t%253Aint%2520%253D%2520getTimer()%253B%250D%2509%2509%2509this._offsets%255B0%255D.x%2520%253D%2520t%2520%252F%252020%253B%250D%2509%2509%2509this._offsets%255B1%255D.y%2520%253D%2520t%2520%252F%252035%253B%250D%2509%2509%2509this._forcemap.perlinNoise(150%252C%2520150%252C%25202%252C%2520this._seed%252C%2520true%252C%2520true%252C%25203%252C%2520false%252C%2520this._offsets)%253B%250D%2509%2509%257D%250D%2509%2509%250D%2509%2509private%2520var%2520color%253AColorHSV%2520%253D%2520new%2520ColorHSV(0%252C%25200.5)%253B%2520%250D%2509%2509private%2520function%2520_onEnterFrame(e%253AEvent)%253Avoid%2520%257B%250D%2509%2509%2509var%2520n%253Aint%2520%253D%252010%253B%250D%2509%2509%2509while%2520(n--)%2520%257B%250D%2509%2509%2509var%2520a%253ANumber%2520%253D%2520getTimer()%2520%252F%25201000%2520%252B%2520Math.random()%2520*%2520Math.PI%253B%250D%2509%2509%2509color.h%2520%253D%2520(getTimer()%2520%252F%252020000)%2520*%2520360%253B%250D%2509%2509%2509var%2520p%253AParticle%2520%253D%2520new%2520Particle(237%252C%2520237%252C%2520Math.cos(a)%252C%2520Math.sin(a)%252C%2520color.value)%253B%250D%2509%2509%2509this._particles.push(p)%253B%250D%2509%2509%2509%257D%250D%2509%2509%2509%250D%2509%2509%2509var%2520g%253AGraphics%2520%253D%2520this._canvas.graphics%253B%250D%2509%2509%2509g.clear()%253B%250D%252F%252F%2509%2509%2509g.lineStyle(0%252C%25200xffffff%252C%25200.5)%253B%250D%252F%252F%2509%2509%2509g.beginFill(0xffffff)%253B%250D%2509%2509%2509%250D%2509%2509%2509n%2520%253D%2520this._particles.length%253B%250D%2509%2509%2509while%2520(n--)%2520%257B%250D%2509%2509%2509%2509p%2520%253D%2520this._particles%255Bn%255D%253B%250D%2509%2509%2509%2509var%2520c%253Auint%2520%253D%2520this._forcemap.getPixel(p.x%2520*%2520MAP_SCALE%252C%2520p.y%2520*%2520MAP_SCALE)%253B%250D%2509%2509%2509%2509p.vx%2520%252B%253D%2520(((c%2520%253E%253E%252016)%2520%2526%25200xff)%2520-%25200x80)%2520%252F%25200x80%2520*%25200.3%253B%250D%2509%2509%2509%2509p.vy%2520%252B%253D%2520(((c%2520%253E%253E%25208)%2520%2526%25200xff)%2520-%25200x80)%2520%252F%25200x80%2520*%25200.3%253B%250D%2509%2509%2509%2509p.x%2520%252B%253D%2520p.vx%253B%250D%2509%2509%2509%2509p.y%2520%252B%253D%2520p.vy%253B%250D%2509%2509%2509%2509p.life%2520-%253D%25200.005%253B%250D%2509%2509%2509%2509if%2520(p.life%2520%253C%25200%2520%257C%257C%2520p.x%2520%253C%2520-10%2520%257C%257C%2520p.x%2520%253E%2520485%2520%257C%257C%2520p.y%2520%253C%2520-10%2520%257C%257C%2520p.y%2520%253E%2520485)%2520%257B%250D%2509%2509%2509%2509%2509this._particles.splice(n%252C%25201)%253B%250D%2509%2509%2509%2509%257D%2520else%2520%257B%250D%2509%2509%2509%2509%2509g.lineStyle(0%252C%2520p.color%252C%25200.5%2520*%2520p.life)%253B%250D%2509%2509%2509%2509%2509g.moveTo(p.x%252C%2520p.y)%253B%250D%2509%252F%252F%2509%2509%2509%2509g.lineTo(p.px%252C%2520p.py)%253B%250D%2509%2509%2509%2509%2509g.lineTo(p.x%2520-%2520(p.x%2520-%2520p.px)%2520*%2520TRAIL_SCALE%252C%2520p.y%2520-%2520(p.y%2520-%2520p.py)%2520*%2520TRAIL_SCALE)%253B%250D%2509%2509%2509%2509%2509p.px%2520%253D%2520p.x%253B%250D%2509%2509%2509%2509%2509p.py%2520%253D%2520p.y%253B%250D%2509%252F%252F%2509%2509%2509%2509g.drawRect(p.x%252C%2520p.y%252C%25202%252C%25202)%253B%250D%2509%2509%2509%2509%257D%250D%2509%2509%2509%257D%250D%2509%2509%2509%250D%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520if%2520(this._count%2520%2526%25201)%2520%257B%250D%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520this._fade.lock()%253B%250D%2509%2509%2509%2520%2520%2520%2520this._fade.draw(this._canvas%252C%2520this._drawMatrix%252C%2520this._drawColor%252C%2520BlendMode.ADD)%253B%250D%2509%2509%2509%2520%2520%2520%2520this._fade.applyFilter(this._fade%252C%2520this._fade.rect%252C%2520ZERO_POINT%252C%2520this._blur)%253B%250D%2509%2509%2509%2520%2520%2520%2520this._fade.unlock()%253B%250D%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%257D%250D%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520if%2520(this._count%2520%2526%25200x4)%2520%257B%250D%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520this._onTimer()%253B%250D%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%257D%250D%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520%2520this._count%252B%252B%253B%250D%2509%2509%257D%250D%2509%257D%250D%257D%250D%250D%250D%250Dclass%2520Particle%2520%257B%250D%2509public%2520var%2520x%253ANumber%2520%253D%25200%253B%250D%2509public%2520var%2520y%253ANumber%2520%253D%25200%253B%250D%2509public%2520var%2520px%253ANumber%2520%253D%25200%253B%250D%2509public%2520var%2520py%253ANumber%2520%253D%25200%253B%250D%2509public%2520var%2520vx%253ANumber%2520%253D%25200%253B%250D%2509public%2520var%2520vy%253ANumber%2520%253D%25200%253B%250D%2509public%2520var%2520life%253ANumber%2520%253D%25201%253B%250D%2509public%2520var%2520color%253Auint%2520%253D%25200xffffff%253B%250D%2509public%2520function%2520Particle(x%253ANumber%2520%253D%25200%252C%2520y%253ANumber%2520%253D%25200%252C%2520vx%253ANumber%2520%253D%25200%252C%2520vy%253ANumber%2520%253D%25200%252C%2520color%253Auint%2520%253D%25200xffffff)%2520%257B%250D%2509%2509this.x%2520%253D%2520this.px%2520%253D%2520x%253B%250D%2509%2509this.y%2520%253D%2520this.py%2520%253D%2520y%253B%250D%2509%2509this.vx%2520%253D%2520vx%253B%250D%2509%2509this.vy%2520%253D%2520vy%253B%250D%2509%2509this.color%2520%253D%2520color%253B%250D%2509%257D%250D%257D