flash on 2010-2-5
♥0 |
Line 84 |
Modified 2010-02-05 23:51:08 |
MIT License
archived:2017-03-20 12:53:40
ActionScript3 source code
/**
* Copyright hacker_9p8x8mco ( http://wonderfl.net/user/hacker_9p8x8mco )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/wCGa
*/
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 = "All Classes Accessibility AccessibilityProperties ActionScriptVersion ActivityEvent AntiAliasType ApplicationDomain ArgumentError arguments Array";
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",20,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<30;i++) foolAround()},1000);
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()*5+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,
onComlplete:foolAround
}
);
}
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,0,0.5);
g.lineTo(r.x,r.y);
}
}
}