In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

teste

Get Adobe Flash player
by linuxmad 22 Dec 2012
/**
 * Copyright linuxmad ( http://wonderfl.net/user/linuxmad )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/e3sU
 */

// forked from codextends's forked from: forked from: forked from: 3D tag cloud for FP10
// forked from thoton's forked from: forked from: 3D tag cloud for FP10
// forked from hacker_ns's forked from: 3D tag cloud for FP10
// forked from peko's 3D tag cloud for FP10
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 com.greensock.TweenMax;
    import com.greensock.easing.Back;
    
    [SWF(width="580", height="140")]
    public class tags extends Sprite {
        
        private var tagsString:String ="epa  arqueologia  património conservação ensino profissional Boas Festas Feliz Natal Próspero Ano Novo";
        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(" 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);
                //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()*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,
                    
//                    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,0,0.5);
             g.lineTo(r.x, r.y);
        }
        
    }
}