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:
y desde el document class pongo: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); } */ } }
Código:
espero su ayuda porque a la marcha que voy...var mitriangulo:miTriangulo=new miTriangulo(1,36); bView.scene.addChild(mitriangulo);
gracias.