forked from: Away3D Plane
forked from Away3D Plane (diff: 18)
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);}}