Prueba de Line3d en Papervision GreatWhite

Prueba de Line3d en Papervision GreatWhite

Etiquetas: Lines3D addNewLine Line3D BasicRenderEngine Viewport3D

Imagen en reemplazo de flash
Hace tiempo que le tenia echado el ojo, asi que hace un rato me he puesto y me ha sorprendido lo fácil que es utilizar esta clase. Veo mucho potencial, a ver si me instalo la CS4 y hago un ejemplo de CS4 + la nueva función extract de FP10. Aquí dejo el fuente por si le ayuda a alguien:

  1. package{
  2.  
  3. 	import flash.display.*
  4.  
  5. 	public class Main extends MovieClip{
  6.  
  7. 		import flash.events.Event;
  8.  
  9. 		import org.papervision3d.cameras.Camera3D;
  10. 		import org.papervision3d.view.Viewport3D;
  11.     	import org.papervision3d.cameras.Camera3D;
  12. 		import org.papervision3d.scenes.Scene3D;
  13. 		import org.papervision3d.render.BasicRenderEngine;
  14. 		import org.papervision3d.core.geom.*;
  15. 		import org.papervision3d.materials.special.*;
  16. 		import org.papervision3d.objects.*;
  17.  
  18. 		var escena:Scene3D;
  19. 		var renderer:BasicRenderEngine;
  20. 		var camara:Camera3D;
  21. 		var viewport:Viewport3D;
  22. 		var lineMaterial = new LineMaterial(0x009900,.5);
  23. 		var lineas:Lines3D = new Lines3D(lineMaterial);
  24. 		var contenedor:DisplayObject3D = new DisplayObject3D();
  25.  		var x1; var y1; var z1; var x2; var y2; var z2;
  26. 		var cont = 0;
  27. 		public function Main(){
  28. 			init();
  29. 		}
  30.  
  31. 		public function init():void{
  32. 			escena = new Scene3D();
  33. 			renderer = new BasicRenderEngine();
  34. 			camara = new Camera3D();
  35. 			viewport = new Viewport3D(1000,600);
  36. 			addChild(viewport);
  37. 			camara.z = -500;
  38. 			escena.addChild(contenedor);
  39. 			contenedor.addChild(lineas);
  40. 			addEventListener(Event.ENTER_FRAME, renderizar);
  41.  
  42. 		}
  43.  
  44. 		private function renderizar(e:Event):void{	
  45. 			contenedor.yaw(1);
  46. 			renderer.renderScene(escena, camara, viewport);
  47. 			if(cont < 500){
  48. 				x1 = x2;
  49. 				y1 = y2;
  50. 				z1 = z2;
  51. 				cont+= 2
  52. 				x2 = Math.sin(cont) * 250
  53. 				y2 = cont - 250
  54. 				z2 = Math.cos(cont) * 250
  55. 				lineas.addNewLine(2,x1,y1,z1,x2,y2,z2)
  56. 			}
  57.  
  58. 		}
  59. 	}
  60. }
Comentarios

    No hay comentarios

Dejar un comentario
Tu nombre (obligatorio):

E-mail (obligatorio, no se mostrará):

Web:

Comentario: