flash on 2010-1-18

by ketz
@author Andre Assalino
♥0 | Line 57 | Modified 2010-01-18 22:49:26 | MIT License
play

ActionScript3 source code

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

package  
{
	import flash.events.KeyboardEvent;

	import org.papervision3d.core.geom.renderables.Vertex3D;
	import org.papervision3d.lights.PointLight3D;
	import org.papervision3d.materials.shadematerials.FlatShadeMaterial;
	import org.papervision3d.objects.primitives.Plane;

	import flash.events.Event;

	import org.papervision3d.scenes.Scene3D;
	import org.papervision3d.cameras.Camera3D;
	import org.papervision3d.view.Viewport3D;
	import org.papervision3d.render.BasicRenderEngine;
	import org.papervision3d.view.BasicView;

	import flash.display.MovieClip;

	/**
	* @author Andre Assalino
	*/
	public class Test extends BasicView 
	{

		private var plane:Plane;
		private var light:PointLight3D;

		public function Test()
		{
			super(995, 592, true, false);
			
			light = new PointLight3D(true);
			scene.addChild(light);
			light.z = -100;
			
			var material:FlatShadeMaterial = new FlatShadeMaterial(light);
			
			plane = new Plane(material, 500, 500, 10, 10);
			scene.addChild(plane);
			
			var vs:Array = plane.geometry.vertices;
			var vc:int = vs.length;
			
			for (var i:int = 0; i < vc;i++) 
			{
				var v:Vertex3D = vs[i] as Vertex3D;
                v.z = -500 + Math.random() * 1000;
			}
			
			addEventListener(Event.ENTER_FRAME, loop);
			stage.addEventListener( KeyboardEvent.KEY_DOWN, keyDownHandler );
		}
		
		private function keyDownHandler(event:KeyboardEvent):void
		{	
			//trace(String.fromCharCode(event.charCode));
			
			switch (String.fromCharCode(event.charCode)) 
			{
				case "1" :
					light.z -= 10;
					break;
					
				case "2" :
					light.z += 10;
					break;
			}
			
			trace(light.z);
			event.updateAfterEvent();
		}
		
		private function loop(event:Event):void
		{
			singleRender();
		}
	}
}