forked from: Force Field

by hacker_zfj219fz forked from Force Field (diff: 158)
♥0 | Line 1 | Modified 2009-09-28 20:01:17 | 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/swqh
 */

%2F%2F%20forked%20from%20Saqoosha's%20Force%20Field%0Dpackage%20%7B%0D%09%0D%09import%20__AS3__.vec.Vector%3B%0D%09%0D%09import%20flash.display.Bitmap%3B%0D%09import%20flash.display.BitmapData%3B%0D%09import%20flash.display.BlendMode%3B%0D%09import%20flash.display.Graphics%3B%0D%09import%20flash.display.PixelSnapping%3B%0D%09import%20flash.display.Shape%3B%0D%09import%20flash.display.Sprite%3B%0D%09import%20flash.display.StageQuality%3B%0D%09import%20flash.events.Event%3B%0D%09import%20flash.events.TimerEvent%3B%0D%09import%20flash.filters.BlurFilter%3B%0D%09import%20flash.filters.ColorMatrixFilter%3B%0D%09import%20flash.filters.GlowFilter%3B%0D%09import%20flash.geom.ColorTransform%3B%0D%09import%20flash.geom.Matrix%3B%0D%09import%20flash.geom.Point%3B%0D%09import%20flash.utils.Timer%3B%0D%09import%20flash.utils.getTimer%3B%0D%09%0D%09import%20frocessing.color.ColorHSV%3B%0D%09%0D%09import%20net.hires.debug.Stats%3B%0D%09%0D%09%5BSWF(backgroundColor%3D0x0%2C%20frameRate%3D60)%5D%0D%09%0D%09public%20class%20FlashTest%20extends%20Sprite%20%7B%0D%09%09%0D%09%09private%20static%20const%20ZERO_POINT%3APoint%20%3D%20new%20Point()%3B%0D%09%09%0D%09%09private%20static%20const%20MAP_SCALE%3ANumber%20%3D%200.25%3B%0D%09%09private%20static%20const%20TRAIL_SCALE%3ANumber%20%3D%202%3B%0D%09%09private%20static%20const%20DRAW_SCALE%3ANumber%20%3D%200.5%3B%0D%09%09%0D%09%09private%20var%20_timer%3ATimer%3B%0D%09%09private%20var%20_seed%3ANumber%20%3D%20new%20Date().getTime()%3B%0D%09%09private%20var%20_offsets%3AArray%20%3D%20%5Bnew%20Point()%2C%20new%20Point()%5D%3B%0D%09%09private%20var%20_forcemap%3ABitmapData%3B%0D%09%09private%20var%20_count%3Aint%20%3D%200%3B%0D%09%09%0D%09%09private%20var%20_particles%3AVector.%3CParticle%3E%3B%0D%09%09private%20var%20_canvas%3AShape%3B%0D%09%09private%20var%20_fade%3ABitmapData%3B%0D%09%09private%20var%20_darken%3AColorMatrixFilter%20%3D%20new%20ColorMatrixFilter(%5B%0D%09%091%2C%200%2C%200%2C%200%2C%20-2%2C%0D%09%090%2C%201%2C%200%2C%200%2C%20-2%2C%0D%09%090%2C%200%2C%201%2C%200%2C%20-2%2C%0D%09%090%2C%200%2C%200%2C%201%2C%200%0D%09%09%5D)%3B%0D%09%09private%20var%20_blur%3ABlurFilter%20%3D%20new%20BlurFilter(2%2C%202%2C%201)%3B%0D%09%09%0D%09%09private%20var%20_drawMatrix%3AMatrix%20%3D%20new%20Matrix(DRAW_SCALE%2C%200%2C%200%2C%20DRAW_SCALE%2C%200%2C%200)%3B%0D%09%09private%20var%20_drawColor%3AColorTransform%20%3D%20new%20ColorTransform(0.1%2C%200.1%2C%200.1)%3B%0D%09%09%0D%09%09public%20function%20FlashTest()%20%7B%0D%2F%2F%09%09%09this.stage.quality%20%3D%20StageQuality.MEDIUM%3B%0D%09%09%09%0D%09%09%09this._timer%20%3D%20new%20Timer(11500%2C%200)%3B%0D%09%09%09this._timer.addEventListener(TimerEvent.TIMER%2C%20this._onTimer)%3B%0D%09%09%09this._timer.start()%3B%0D%09%09%09this._forcemap%20%3D%20new%20BitmapData(475%20*%20MAP_SCALE%2C%20475%20*%20MAP_SCALE%2C%20false%2C%200x0)%3B%0D%2F%2F%09%09%09this.addChild(new%20Bitmap(this._forcemap))%3B%0D%09%09%09%0D%09%09%09this._particles%20%3D%20new%20Vector.%3CParticle%3E()%3B%0D%09%09%09%0D%09%09%09this._fade%20%3D%20new%20BitmapData(475%20*%20DRAW_SCALE%2C%20475%20*%20DRAW_SCALE%2C%20false%2C%200x0)%3B%0D%09%09%09var%20bm%3ABitmap%20%3D%20this.addChild(new%20Bitmap(this._fade%2C%20PixelSnapping.AUTO%2C%20true))%20as%20Bitmap%3B%0D%09%09%09bm.scaleX%20%3D%20bm.scaleY%20%3D%201%20%2F%20DRAW_SCALE%3B%0D%09%09%09%0D%09%09%09this._canvas%20%3D%20this.addChild(new%20Shape())%20as%20Shape%3B%0D%09%09%09this._canvas.blendMode%20%3D%20BlendMode.ADD%3B%0D%2F%2F%09%09%09this._canvas.filters%20%3D%20%5Bnew%20GlowFilter(0xffffff%2C%201%2C%202%2C%202%2C%202)%5D%3B%0D%09%09%09%0D%09%09%09this.addEventListener(Event.ENTER_FRAME%2C%20this._onEnterFrame)%3B%0D%09%09%09%0D%09%09%09this.stage.addChild(new%20Stats())%3B%0D%09%09%7D%0D%09%09%0D%09%09private%20function%20_onTimer(e%3ATimerEvent%20%3D%20null)%3Avoid%20%7B%0D%09%09%09var%20t%3Aint%20%3D%20getTimer()%3B%0D%09%09%09this._offsets%5B0%5D.x%20%3D%20t%20%2F%2020%3B%0D%09%09%09this._offsets%5B1%5D.y%20%3D%20t%20%2F%2035%3B%0D%09%09%09this._forcemap.perlinNoise(150%2C%20150%2C%202%2C%20this._seed%2C%20true%2C%20true%2C%203%2C%20false%2C%20this._offsets)%3B%0D%09%09%7D%0D%09%09%0D%09%09private%20var%20color%3AColorHSV%20%3D%20new%20ColorHSV(0%2C%200.5)%3B%20%0D%09%09private%20function%20_onEnterFrame(e%3AEvent)%3Avoid%20%7B%0D%09%09%09var%20n%3Aint%20%3D%2010%3B%0D%09%09%09while%20(n--)%20%7B%0D%09%09%09var%20a%3ANumber%20%3D%20getTimer()%20%2F%201000%20%2B%20Math.random()%20*%20Math.PI%3B%0D%09%09%09color.h%20%3D%20(getTimer()%20%2F%20120000)%20*%20360%3B%0D%09%09%09var%20p%3AParticle%20%3D%20new%20Particle(237%2C%20237%2C%20Math.cos(a)%2C%20Math.sin(a)%2C%20color.value)%3B%0D%09%09%09this._particles.push(p)%3B%0D%09%09%09%7D%0D%09%09%09%0D%09%09%09var%20g%3AGraphics%20%3D%20this._canvas.graphics%3B%0D%09%09%09g.clear()%3B%0D%2F%2F%09%09%09g.lineStyle(0%2C%200xffffff%2C%200.5)%3B%0D%2F%2F%09%09%09g.beginFill(0xffffff)%3B%0D%09%09%09%0D%09%09%09n%20%3D%20this._particles.length%3B%0D%09%09%09while%20(n--)%20%7B%0D%09%09%09%09p%20%3D%20this._particles%5Bn%5D%3B%0D%09%09%09%09var%20c%3Auint%20%3D%20this._forcemap.getPixel(p.x%20*%20MAP_SCALE%2C%20p.y%20*%20MAP_SCALE)%3B%0D%09%09%09%09p.vx%20%2B%3D%20(((c%20%3E%3E%2016)%20%26%200xff)%20-%200x80)%20%2F%200x80%20*%200.3%3B%0D%09%09%09%09p.vy%20%2B%3D%20(((c%20%3E%3E%208)%20%26%200xff)%20-%200x80)%20%2F%200x80%20*%200.3%3B%0D%09%09%09%09p.x%20%2B%3D%20p.vx%3B%0D%09%09%09%09p.y%20%2B%3D%20p.vy%3B%0D%09%09%09%09p.life%20-%3D%200.005%3B%0D%09%09%09%09if%20(p.life%20%3C%200%20%7C%7C%20p.x%20%3C%20-10%20%7C%7C%20p.x%20%3E%20485%20%7C%7C%20p.y%20%3C%20-10%20%7C%7C%20p.y%20%3E%20485)%20%7B%0D%09%09%09%09%09this._particles.splice(n%2C%201)%3B%0D%09%09%09%09%7D%20else%20%7B%0D%09%09%09%09%09g.lineStyle(0%2C%20p.color%2C%200.5%20*%20p.life)%3B%0D%09%09%09%09%09g.moveTo(p.x%2C%20p.y)%3B%0D%09%2F%2F%09%09%09%09g.lineTo(p.px%2C%20p.py)%3B%0D%09%09%09%09%09g.lineTo(p.x%20-%20(p.x%20-%20p.px)%20*%20TRAIL_SCALE%2C%20p.y%20-%20(p.y%20-%20p.py)%20*%20TRAIL_SCALE)%3B%0D%09%09%09%09%09p.px%20%3D%20p.x%3B%0D%09%09%09%09%09p.py%20%3D%20p.y%3B%0D%09%2F%2F%09%09%09%09g.drawRect(p.x%2C%20p.y%2C%202%2C%202)%3B%0D%09%09%09%09%7D%0D%09%09%09%7D%0D%09%09%09%0D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(this._count%20%26%201)%20%7B%0D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this._fade.lock()%3B%0D%09%09%09%20%20%20%20this._fade.draw(this._canvas%2C%20this._drawMatrix%2C%20this._drawColor%2C%20BlendMode.ADD)%3B%0D%09%09%09%20%20%20%20this._fade.applyFilter(this._fade%2C%20this._fade.rect%2C%20ZERO_POINT%2C%20this._blur)%3B%0D%09%09%09%20%20%20%20this._fade.unlock()%3B%0D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20if%20(this._count%20%26%200x4)%20%7B%0D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this._onTimer()%3B%0D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0D%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20this._count%2B%2B%3B%0D%09%09%7D%0D%09%7D%0D%7D%0D%0D%0D%0Dclass%20Particle%20%7B%0D%09public%20var%20x%3ANumber%20%3D%200%3B%0D%09public%20var%20y%3ANumber%20%3D%200%3B%0D%09public%20var%20px%3ANumber%20%3D%200%3B%0D%09public%20var%20py%3ANumber%20%3D%200%3B%0D%09public%20var%20vx%3ANumber%20%3D%200%3B%0D%09public%20var%20vy%3ANumber%20%3D%200%3B%0D%09public%20var%20life%3ANumber%20%3D%201%3B%0D%09public%20var%20color%3Auint%20%3D%200xffffff%3B%0D%09public%20function%20Particle(x%3ANumber%20%3D%200%2C%20y%3ANumber%20%3D%200%2C%20vx%3ANumber%20%3D%200%2C%20vy%3ANumber%20%3D%200%2C%20color%3Auint%20%3D%200xffffff)%20%7B%0D%09%09this.x%20%3D%20this.px%20%3D%20x%3B%0D%09%09this.y%20%3D%20this.py%20%3D%20y%3B%0D%09%09this.vx%20%3D%20vx%3B%0D%09%09this.vy%20%3D%20vy%3B%0D%09%09this.color%20%3D%20color%3B%0D%09%7D%0D%7D

Forked