forked from: Away3D Plane

by hemingway forked from Away3D Plane (diff: 18)
♥0 | Line 72 | Modified 2013-05-29 04:06:27 | MIT License
play

ActionScript3 source code

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

// forked from Vladik's Away3D Plane
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;
    
    import net.hires.debug.*;
    
    [SWF(frameRate = 60)]
    public class Away3DTest extends Sprite {
        
        private var view:View3D;        
        private var cube:Mesh;
        private var object: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 Stats());
        }
        
        private function init3DScene():void
        {   
            view = new View3D();
            addChild(view);
            
            view.camera.z = -300;
            view.camera.y = 100;
            view.camera.lookAt(new Vector3D());

            cube = new Mesh(new PlaneGeometry(500, 500), new ColorMaterial(0xFF0000));
            view.scene.addChild(cube);
        }
        
        private function loop(e:Event):void
        {
            (cube.material as ColorMaterial).color = 0xFFFFFF;
                
           // (color.material as ColorMaterial).color = new ColorHSV(360 * (getTimer() % 4000) / 4000, 1, 1).toRGB().value;
            
            //cube.rotationY+= 2.5;
            cube.rotationY = (mouseX);
            //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);}}