10K-Star Parallaxing Fly-Thru

by bradsedito
10K-Star Galaxy Fly-Thru:

- Move mouse up, warp forward thru stars
- Move mouse down, fly backwards & away
♥0 | Line 44 | Modified 2011-05-07 06:04:39 | MIT License
play

ActionScript3 source code

/**
 * Copyright bradsedito ( http://wonderfl.net/user/bradsedito )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/6UpR
 */


//  BradSedito 2011


package 
{
    import flash.events.Event;
    import flash.events.MouseEvent;
    import org.papervision3d.materials.special.ParticleMaterial;
    import org.papervision3d.objects.special.ParticleField;
    import org.papervision3d.view.BasicView;
    import flash.filters.GlowFilter;
    import flash.filters.BlurFilter;
    import gs.*;
    import gs.easing.*;

    [SWF(width = 465, height=465, backgroundColor=0x000000,frameRate=120)]
    
    public class Main extends BasicView
    {
        public function Main(){
            var particleMat:ParticleMaterial = new ParticleMaterial(0xffffff, 5);
            var particles:ParticleField = new ParticleField(particleMat, 500, 5, 5000, 5000, 5000);
            var gloww:GlowFilter = new GlowFilter(0xffffff, 1.0, 6, 6, 10, 2, false);
            var blurr:BlurFilter = new BlurFilter(3,3,3);

            filters = [ gloww ];
        
            scene.addChild(particles);
            startRendering();
            addEventListener(Event.ENTER_FRAME, function():void{
                var mXinc:Number = new Number(stage.mouseX);
                var mYinc:Number = new Number(stage.mouseY);
                var isMouseDown:Boolean = false;
                
                if(stage.mouseX > stage.stageWidth/2)  {
                     TweenMax.to(particles, 1, {x:mXinc, y:mYinc, rotationX:((mYinc++) - stage.stageHeight/2) /100, ease:Quad.easeOut});
                    }
                    else  {
                         TweenMax.to(particles, 1, {x:mXinc, y:mYinc, rotationX:((mYinc++) - stage.stageHeight/2)/100 , ease:Quad.easeOut});
                    }
                    
                if (stage.mouseY > stage.stageHeight/2)  {
                       TweenMax.to(particles, 1, {x:mXinc, y:mYinc, rotationY:((mXinc++) - stage.stageWidth/2)  /100, ease:Quad.easeOut});                
                     TweenMax.to(particles, 1, {z:(50 * mYinc), ease:Quad.easeIn});
                    }
                    else  {
                         TweenMax.to(particles, 1, {x:mXinc, y:mYinc, rotationY:((mXinc++) - stage.stageWidth/2)  /100, ease:Quad.easeOut});
                         TweenMax.to(particles, 1, {z:0, ease:Quad.easeInOut});
                    }                
            });
        }
    }
}