Forked from: mrdoob's magic spots diff:4 forked from: magic spots everdibe forked:1favorite:1lines:58license : All rights reserved modified : 2009-03-18 21:50:54 Embed Tweet // forked from mrdoob's magic spots package { import flash.display.*; import flash.geom.*; import flash.events.Event; import net.hires.debug.Stats; [SWF(backgroundColor="0x000000")] public class Magic extends Sprite { private var item : Sprite; private var items : Array = []; private var amount:Number = 500; public function Magic() { addEventListener(Event.ADDED_TO_STAGE, init); } private function init( e : Event ) : void { removeEventListener(Event.ADDED_TO_STAGE, init); stage.quality = "low"; for (var i : int = 0; i < amount; i++) { items[i] = item = new Sprite(); var xpos : int = Math.random() * stage.stageWidth; var ypos : int = Math.random() * stage.stageHeight; var size : int = Math.random() * 100; var fillType:String = GradientType.RADIAL; var colors:Array = [ Math.random() * 0xffffff , 0x000000]; var alphas:Array = [100, 100]; var ratios:Array = [0x00, 0xFF]; var mtr:Matrix = new Matrix(); mtr.createGradientBox(size * 2, size * 2, 0, -size, -size); var spreadMethod:String = SpreadMethod.PAD; item.graphics.beginGradientFill(fillType, colors, alphas, ratios, mtr, spreadMethod); item.graphics.drawCircle(0, 0, size); item.graphics.endFill(); item.x = xpos; item.y = ypos; item.scaleX = item.scaleY = 0; item.blendMode = "add"; addChild(item); } //addChild( new Stats ); addEventListener(Event.ENTER_FRAME, loop); } private function loop( e : Event ) : void { for (var i : int = 0; i < items.length; i++) { item = items[i]; var distance : int = Math.sqrt( Math.pow(mouseX - item.x, 2) + Math.pow(mouseY - item.y, 2)); var scale : Number = 1 - (distance * 0.005); scale = (scale > 1) ? 1 : (scale < 0) ? 0 : scale; item.scaleX = item.scaleY += ( scale - item.scaleY ) * .3; item.visible = item.scaleX > 0; } } } } Code Fullscreen Preview Fullscreen hacker_98feb.. size items scale scaleY scaleX spreadMethod ratios alphas colors Point.distance Event.ADDED_TO_STAGE Math.pow addEventListener blendMode SpreadMethod.PAD visible GradientType.RADIAL beginGradientFill removeEventListener mouseY sort new page view favorite forked pv0 forked from: forked from: magi.. taka_milk forked:0 favorite:0lines:58 (diff:1)