Away3D Plane

by WLAD
♥0 | Line 74 | Modified 2013-05-20 00:44:38 | MIT License
play

ActionScript3 source code

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

package {
    import flash.utils.getTimer;
    import flash.geom.Vector3D;
    import flash.events.Event;
    
    import away3d.containers.View3D;
    import away3d.entities.Mesh;
    import away3d.materials.ColorMaterial;
    import away3d.primitives.PlaneGeometry;
    import away3d.debug.AwayStats;
    
    import frocessing.color.ColorHSV;
    
    import flash.display.Sprite;
    
    [SWF(frameRate = 60)]
    public class Away3DTest extends Sprite {
        
        private var view:View3D;        
        private var cube:Mesh;
                
        public function Away3DTest() {
            
            if(stage)   
                init();
            else addEventListener(Event.ADDED_TO_STAGE,
                function(e:Event):void
                    {init();});
        }
        
        private function init():void
        {
            inittrace(stage);
            trace("Trace inited, adding enter frame event...");
            
            addEventListener(Event.ENTER_FRAME,loop);
            trace("Loop started, loading 3d scene...");
            
            init3DScene();
            trace("3D Scene inited, adding 3D stats...");
            
            addChild(new AwayStats(view));
            trace("3D Stats inited, init copleted 100% no errors");
        }
        
        private function init3DScene():void
        {   
            view = new View3D();
            addChild(view);
            //trace(view);
            view.camera.z = -200;
            view.camera.y = 100;
            view.camera.lookAt(new Vector3D());
            //trace(matRed);
            //trace(plane);
            cube = new Mesh( new PlaneGeometry() , new ColorMaterial(0xFF0000) );
            view.scene.addChild(cube);
        }
        
        private function loop(e:Event):void
        {
            (cube.material as ColorMaterial).color 
                = new ColorHSV(360 * (getTimer() % 4000) / 4000, 1, 1).toRGB().value;
            
            cube.rotationY+= 2.5;
            cube.z = mouseX / 4;
            view.camera.y = 100 + mouseY / 6;
            
            view.render();
        }
    }
}

import flash.display.Stage;

/*
__/\\\\\\\\\\\\\\\____/\\\\\\\\\_________/\\\\\\\\\___________/\\\\\\\\\__/\\\\\\\\\\\\\\\_        
 _\///////\\\/////___/\\\///////\\\_____/\\\\\\\\\\\\\______/\\\////////__\/\\\///////////__       
  _______\/\\\_______\/\\\_____\/\\\____/\\\/////////\\\___/\\\/___________\/\\\_____________      
   _______\/\\\_______\/\\\\\\\\\\\/____\/\\\_______\/\\\__/\\\_____________\/\\\\\\\\\\\_____     
    _______\/\\\_______\/\\\//////\\\____\/\\\\\\\\\\\\\\\_\/\\\_____________\/\\\///////______    
     _______\/\\\_______\/\\\____\//\\\___\/\\\/////////\\\_\//\\\____________\/\\\_____________   
      _______\/\\\_______\/\\\_____\//\\\__\/\\\_______\/\\\__\///\\\__________\/\\\_____________  
       _______\/\\\_______\/\\\______\//\\\_\/\\\_______\/\\\____\////\\\\\\\\\_\/\\\\\\\\\\\\\\\_ 
        _______\///________\///________\///__\///________\///________\/////////__\///////////////__

*/
import flash.text.TextField;
import flash.text.TextFormat;
/////  WONDERFL TRACE /////
function inittrace(s:Stage):void{WTrace.initTrace(s);}var trace:Function;class WTrace{

    private static var FONT:String = "_sans";
    private static var SIZE:Number = 12;
    private static var SPACE:String = " ";
    private static var COLOR:uint = 0xFF0000;
    private static var LINES:uint = 6;

private static var TextFields:Array = [];private static var trace_stage:Stage;
public static function initTrace(stg:Stage):void{trace_stage = stg;trace = wtrace;}
private static function scrollup():void{if (TextFields.length > LINES){
var removeme:TextField = TextFields.shift();trace_stage.removeChild(removeme);removeme = null;
}for(var x:Number=0;x<TextFields.length;x++){(TextFields[x] as TextField).y -= SIZE*1.2;}}
public static function wtrace(... args):void{var s:String="";var tracefield:TextField;
for (var i:int;i < args.length;i++){if (i != 0) s+=SPACE;s+=args[i].toString();}
tracefield= new TextField();tracefield.autoSize = "left";tracefield.textColor = COLOR;
tracefield.text = s;tracefield.y = trace_stage.stageHeight - 20;
var tf:TextFormat = new TextFormat(FONT, SIZE);tracefield.setTextFormat(tf);
trace_stage.addChild(tracefield);scrollup();TextFields.push(tracefield);}}

Forked