Foros del Web » Creando para Internet » Flash y Actionscript »

triangulos en papervision

Estas en el tema de triangulos en papervision en el foro de Flash y Actionscript en Foros del Web. saludos. estoy empezando con papervision y llevo dias sin saber como añadir un triangulo 3D a mi escena. Y eso que he visto muchos ejemplos ...
  #1 (permalink)  
Antiguo 16/10/2009, 12:59
Avatar de miguelP  
Fecha de Ingreso: diciembre-2001
Ubicación: Valencia
Mensajes: 285
Antigüedad: 22 años, 4 meses
Puntos: 0
triangulos en papervision

saludos. estoy empezando con papervision y llevo dias sin saber como añadir un triangulo 3D a mi escena. Y eso que he visto muchos ejemplos en internet.

he seguido este tuto y va muy bien: http://www.xinterface.net/2008/07/15...s-2-basicview/

pero me gustaria como dije incorporar a la escena varios TriangleMesh3D desde una clase aparte pero no se como hacerlo. Seguro que es algo muy sencillo pero no doy con ello. ¿alguna pista?

tengo esto como la clase que crea el triangulo pero ni siquiera se si tiene que extender de MovieClip, de BasicView... :

Código:
package {
	import flash.events.Event;
	import flash.display.*;

	import org.papervision3d.core.geom.TriangleMesh3D;
	import org.papervision3d.core.geom.renderables.Triangle3D;
	import org.papervision3d.core.geom.renderables.Vertex3D;
	import org.papervision3d.materials.ColorMaterial;
	import org.papervision3d.view.BasicView;

	//[SWF(width="640", height="480", backgroundColor="#000000", frameRate="60")]
	public class miTriangulo extends MovieClip {
		private var triangleMesh3d:TriangleMesh3D;

		public function miTriangulo(quiralidad:Number, grados:Number) {

			//var quiralidad:Number =1;
			var material:ColorMaterial = new ColorMaterial(0xcc0000);
			material.doubleSided = true;

			//all the 200's are points of a triangle
			var vertex3D_1:Vertex3D = new Vertex3D(0, 0, 0);
			var vertex3D_2:Vertex3D = new Vertex3D(107, 28, 100);
			var vertex3D_3:Vertex3D = new Vertex3D(55, 15, 125);

			var triangleVertices:Array = [vertex3D_1, vertex3D_2, vertex3D_3];

			//use null because we haven't created its parent mesh yet
			var triangle3d:Triangle3D = new Triangle3D(null, triangleVertices, material);
			var triangleFaces:Array = [triangle3d];

			triangleMesh3d = new TriangleMesh3D(material, triangleVertices, triangleFaces, null);
			//for the triangle to be "renderable", it needs to know who its daddy is
			//this is the same property as the "null" parameter a few lines above
			triangle3d.instance = triangleMesh3d;

			triangleMesh3d.rotationZ = grados;
			//esfera.rotationX = 30;
			
			//scene.addChild(triangleMesh3d);
			//startRendering();
		}
		/*
		override protected function onRenderTick(event:Event=null):void {
		triangleMesh3d.rotationY = -viewport.containerSprite.mouseX / 2;
		triangleMesh3d.rotationX = -viewport.containerSprite.mouseY / 2;
		super.onRenderTick(event);
		}
		*/
	}
}
y desde el document class pongo:

Código:
var mitriangulo:miTriangulo=new miTriangulo(1,36);
bView.scene.addChild(mitriangulo);
espero su ayuda porque a la marcha que voy...

gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:11.