snippets

Distance to Mouse using a dummy 3d object

Saturday, November 29th, 2008 | snippets | Comments
package
{
	import flash.events.Event;
 
	import org.papervision3d.core.math.Number3D;
	import org.papervision3d.objects.DisplayObject3D;
	import org.papervision3d.objects.primitives.Sphere;
	import org.papervision3d.view.BasicView;
 
	[SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")]
	public class DistanceFrom3DMouse extends BasicView
	{
		private var sphere:Sphere = new Sphere();
		private var mouseDO3D:DisplayObject3D = new Sphere();
 
		public function DistanceFrom3DMouse ()
		{
			sphere.x = -500;
			sphere.y = 200;
 
//			scene.addChild(mouseDO3D); uncomment to see mouse sphere
			scene.addChild(sphere);
 
			startRendering();
		}
 
		override protected function onRenderTick(event:Event=null):void
		{
			var ray:Number3D = camera.unproject(viewport.containerSprite.mouseX, viewport.containerSprite.mouseY);
			ray.normalize();
			ray.multiplyEq(sphere.distanceTo(camera));
			ray = Number3D.add(ray, camera.position);
 
			mouseDO3D.position = ray;
 
			var distance:Number = sphere.distanceTo(mouseDO3D);
 
			renderer.renderScene(scene, camera, viewport);
		}
	}
}

I’m open to suggestions for a better way to do this :)

Tags: ,

Distance from Mouse using screen coordinates

Saturday, November 29th, 2008 | snippets | Comments
package
{
	import flash.events.Event;
 
	import org.papervision3d.objects.primitives.Sphere;
	import org.papervision3d.view.BasicView;
 
	[SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")]
	public class DistanceFrom2DMouse extends BasicView
	{
		private var sphere:Sphere = new Sphere();
 
		public function DistanceFrom2DMouse() 
		{
			sphere.x = -500;
			sphere.y = -300;
 
			sphere.autoCalcScreenCoords = true;
			scene.addChild(sphere);	
 
			startRendering();
		}
 
		override protected function onRenderTick(event:Event=null):void
		{
			var distanceX:Number = viewport.containerSprite.mouseX - sphere.screen.x;
			var distanceY:Number = viewport.containerSprite.mouseY - sphere.screen.y;
			var distance:Number = Math.sqrt(distanceX * distanceX + distanceY * distanceY);
 
			renderer.renderScene(scene, camera, viewport);
		}
	}
}

Tags: ,

Glow Filter on a ViewportLayer

Wednesday, November 26th, 2008 | snippets | Comments
package
{
	import flash.filters.GlowFilter;
 
	import org.papervision3d.materials.ColorMaterial;
	import org.papervision3d.objects.primitives.Sphere;
	import org.papervision3d.view.BasicView;
	import org.papervision3d.view.layer.ViewportLayer;
 
	[SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")]
	public class GlowSnippet extends BasicView
	{
 
		public function GlowSnippet()
		{
			var material:ColorMaterial = new ColorMaterial(0xcc0000);
			var sphere:Sphere = new Sphere(material);
 
			var viewportLayer:ViewportLayer = new ViewportLayer(viewport, sphere);
			viewport.containerSprite.addLayer(viewportLayer);
 
			var glowFilter:GlowFilter = new GlowFilter(0xcccc00, 1, 20, 20, 4, 3);
			viewportLayer.filters = [glowFilter];
 
			scene.addChild(sphere);
 
			singleRender();
		}
	}
}

Tags: ,

Waiting for an image to load – BitmapFileMaterial

Friday, November 21st, 2008 | snippets | Comments
package
{
	import org.papervision3d.events.FileLoadEvent;
	import org.papervision3d.materials.BitmapFileMaterial;
	import org.papervision3d.objects.primitives.Plane;
	import org.papervision3d.view.BasicView;
 
	[SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")]
	public class WaitForAnImageToLoad extends BasicView
	{
 
		public function WaitForAnImageToLoad()
		{
			var url:String = "http://content.screencast.com/media/1676f247-e7f0-4035-a826-06e2d7885731_089125cc-8776-47ed-92d7-280330071c15_static_0_0_00000149.png";
			var bitmapFileMaterial:BitmapFileMaterial = new BitmapFileMaterial(url);
			bitmapFileMaterial.addEventListener(FileLoadEvent.LOAD_COMPLETE, loadCompleteHandler);
		}
 
		private function loadCompleteHandler(event:FileLoadEvent):void
		{
			var plane:Plane = new Plane(BitmapFileMaterial(event.target));
			scene.addChild(plane);
			singleRender();
		}
	}
}

Tags: ,

Search

Recommended Books

Speaking at FITC Toronto

 

May 2012
M T W T F S S
« May    
 123456
78910111213
14151617181920
21222324252627
28293031  

Preferred Video Tutorial Resolution

  • 1024x768 (53%, 85 Votes)
  • 1280x1024 (15%, 24 Votes)
  • 1920x1080 (15%, 24 Votes)
  • 800x600 (13%, 20 Votes)
  • 480x320 (4%, 6 Votes)
  • 640x480 (0%, 2 Votes)

Total Voters: 160

Loading ... Loading ...