Forked from: kiran1980's forked from: forked from: flash on 2009-6-29 diff:1 forked from: forked from: forked from: flash on 2009-6-29 ysformen forked:0favorite:0lines:87license : MIT License modified : 2009-06-30 14:59:08 Embed Tweet // forked from kiran1980's forked from: forked from: flash on 2009-6-29 // forked from kiran1980's forked from: flash on 2009-6-29 package { import flash.display.Graphics; import flash.display.Sprite; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.Event; import flash.events.MouseEvent; import flash.geom.Rectangle; import flash.text.TextField; import flash.text.TextFieldAutoSize; import flash.text.TextFormat; import flash.utils.setTimeout; import gs.TweenMax; import gs.easing.Back; [SWF(width="465", height="465")] public class tags extends Sprite { private var tagsString:String ="Bernie Madoff, Enron, Arthur Andersen, Satyam Infotech, Allen Stanford, Nigerian Scams, CR Bhansali, Lehmann Brothers, Bear Sterns, Northern Rock, Washington Mutual, Fannie Mae, Freddie Mac, AIG, MCI, WorldCom, Barry Minkow, Mike Milken, Bernie Madoff, Enron, Arthur Andersen, Satyam Infotech, Allen Stanford, Nigerian Scams, CR Bhansali, Lehmann Brothers, Bear Sterns, Northern Rock, Washington Mutual, Fannie Mae, Freddie Mac, AIG, MCI, WorldCom, Barry Minkow, Mike Milken"; private var tagNamesArray:Array = tagsString.split(","); private var tagsArray:Array = [] public function tags() { super(); addEventListener(Event.ADDED_TO_STAGE, function (e:Event):void { stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; for each (var tagName:String in tagNamesArray) { var tag:Sprite = new Sprite; var t:TextField = new TextField; t.defaultTextFormat = new TextFormat("Trebuchet MS", 50, 0x888888); t.text = tagName; t.autoSize = TextFieldAutoSize.LEFT; t.selectable = false; t.x = -t.width/2; t.cacheAsBitmap = true; tag.addChild(t) addChild(tag) tagsArray.push(tag); } setTimeout(function():void {for (var i:int = 0; i<40; i++) foolAround()}, 1000); //setTimeout(function():void {Wonderfl.capture(stage)}, 30000); stage.addEventListener(Event.RESIZE,resize); resize(); stage.addEventListener(MouseEvent.MOUSE_MOVE, function(e:MouseEvent):void { var xx:Number = mouseX/stage.stageWidth -0.5; var yy:Number = mouseY/stage.stageHeight-0.5; for each (var t:Sprite in tagsArray ) { t.rotationY = -xx*45 + 30*t.getRect(t).x/stage.stageWidth; t.rotationX = yy*45 - 30*t.getRect(t).y/stage.stageHeight; } }); }); } public function resize(e:Event = null):void { for each (var t:Sprite in tagsArray ) { t.x = stage.stageWidth/2; t.y = stage.stageHeight/2; t.getChildAt(0).x = stage.stageWidth *(Math.random()-Math.random()); t.getChildAt(0).y = stage.stageHeight *(Math.random()-Math.random()); t.getChildAt(0).z = Math.random()*1000; t.getChildAt(0).alpha = 0.5+(1- t.getChildAt(0).z/1000)/2; } } public function foolAround():void { var zz:Number = Math.random()*1000; var i:int = Math.floor(Math.random()*tagsArray.length); TweenMax.to( tagsArray[i].getChildAt(0), Math.random()*150+2, { ease:Back.easeInOut, x: stage.stageWidth *(Math.random()-Math.random()), y: stage.stageHeight *(Math.random()-Math.random()), z: zz, alpha:0.5+(1- zz/1000)/2, // blur: {blurX: zz/100, blurY: zz/100}, onComplete: foolAround // onUpdateParams: [i], // onUpdate: onUpdate } ); } public function onUpdate(...arguments):void { var i:Number = arguments[0]; var r:Rectangle = tagsArray[(i+1) < tagsArray.length ? i+1 : 0].getChildAt(0).getBounds(tagsArray[i]); var g:Graphics = tagsArray[i].graphics; g.clear(); g.lineStyle(1,1,2.5); g.lineTo(r.x, r.y); } } } Code Fullscreen Preview Fullscreen MouseEvent.RESIZE split MouseEvent.ADDED_TO_STAGE StageScaleMode.NO_SCALE MouseEvent.MOUSE_MOVE width align Math.floor Rectangle length MouseEvent push TextFormat Math.random text String Array int Number