BurnedBrain

a user experience blog by Simone Simola

Papervision3D template class

January17

Papervision3D template

Un piccolo esempio in cui è possibile ruotare l’orbita della camera e visualizzare un piano in wireframe.

package
{
	import flash.events.Event;

	import org.papervision3d.events.FileLoadEvent;
	import org.papervision3d.materials.WireframeMaterial;
	import org.papervision3d.materials.utils.MaterialsList;
	import org.papervision3d.objects.DisplayObject3D;
	import org.papervision3d.objects.primitives.Cube;
	import org.papervision3d.objects.primitives.Plane;
	import org.papervision3d.view.BasicView;

	[SWF(width="800", height="600", frameRate="31", backgroundColor="#666666")]

	public class ExternalModelsExample extends BasicView
	{
		private var model:DisplayObject3D;
		private var rotX:Number = 0.1;
		private var rotY:Number = 0.1;
		private var camPitch:Number = 90;
		private var camYaw:Number = 270;
		private var easeOut:Number = 0.1;

		public function ExternalModelsExample()
		{
			stage.frameRate = 40;

			init();
			startRendering();
		}

		private function init():void
		{
			model = new Plane();
			scene.addChild(model);
		}

		private function modelLoaded(event:FileLoadEvent):void
		{
			// To be added
		}

		override protected function onRenderTick(event:Event=null):void
		{
			var xDist:Number = mouseX - stage.stageWidth;
			var yDist:Number = mouseY - stage.stageHeight;

			camPitch += ((yDist * rotX) - camPitch + 90);

			camYaw += ((xDist * rotY) - camYaw + 270) * easeOut;

			camera.orbit(camPitch, camYaw);

			super.onRenderTick();
		}

	}
}

Namasté

Email will not be published

Website example

Your Comment: