plano doble

1 view
Skip to first unread message

Carlos A.G.

unread,
Jun 17, 2010, 3:08:51 PM6/17/10
to ESPapervision3D
Hola a todos,

mi duda es sobre sobre el plano doble(dos planos diferentes que se
solapan dentro de un DisplayObject3D)

hice un bucle y cree 20 planos dobles... el problema que tengo es
cuando quiero girar cada plano doble, solamente

me gira un plano quedando el de detras quieto...

si fuera un solo plano doble movería ese DisplayObject3D, pero al ser
un bucle no se como relacionar cada

plano con su DisplayObject3D para moverlo???





aqui tengo algo de codigo:

for(var i:int=0; i< NumPlanosTotal; i++)
{
var material:BitmapMaterial = new
BitmapMaterial(bulkInstance.getBitmapData(images[i]));

plane=new Plane(material, 350, 250, 1, 1);

doblePlano = new Plane(null, 350, 250, 1, 1);

contPlanos = new DisplayObject3D();

contPlanos.addChild(doblePlano);

contPlanos.addChild(plane);

contPlanos.x=Math.random()*3000-1000;
contPlanos.y=Math.random()*2500-750;
contPlanos.z=Math.random()*3000-1000;

scene.addChild(contPlanos);

material.interactive = true;

plane.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK,
plane_objectClickHandler);

}


//funcion para mover los planos


private function
plane_objectClickHandler(event:InteractiveScene3DEvent):void
{


plane= Plane(event.target);


var distance:Number = 80;//distancia del movimiento



var forwardAxis:Number3D = new Number3D(0, 0, -60);//coordenandas
finales(x,z,y)




Matrix3D.rotateAxis(plane.transform, forwardAxis);




var sitio:Number3D = new Number3D();



sitio.x = distance * forwardAxis.x + plane.x;


sitio.y = distance * forwardAxis.y + plane.y;


sitio.z = distance * forwardAxis.z + plane.z;




TweenMax.to(plane, 1, { x:sitio.x, y:sitio.y, z:sitio.z } );//
ejecuto el movimiento con las variables finales

















laHabichuela

unread,
Jun 18, 2010, 1:17:26 AM6/18/10
to espaper...@googlegroups.com
Prueba poniendole el listerner al contPlanos y en el handler recoge un
do3d, en vez de un plane.

Si no, puedes relacionar cada plano con su pareja con un diccionario,
pero de la primera forma es mas limpio...

Estas haciendo un libro en 3d? Hace na use es pa un libro, jejejejeje

> --
> Has recibido este mensaje porque estás suscrito al grupo "ESPapervision3D" de Grupos de Google.
> Para publicar una entrada en este grupo, envía un correo electrónico a ESPaper...@googlegroups.com.
> Para anular tu suscripción a este grupo, envía un correo electrónico a ESPapervision...@googlegroups.com
> Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/ESPapervision3D?hl=es.
>
>

laHabichuela

unread,
Jun 18, 2010, 1:18:52 AM6/18/10
to espaper...@googlegroups.com
Qu por cierto sabes q le puedes meter a un plano una textura por cada lado, no?

Carlos A.G.

unread,
Jun 18, 2010, 6:14:45 AM6/18/10
to espaper...@googlegroups.com
Gracias por responder...

he probado con esto haber si es lo que decias, pero no me hace nada:

contPlanos.addEventListener(InteractiveScene3DEvent.OBJECT_CLICK, cargarPlanos);

private function cargarPlanos(event:InteractiveScene3DEvent):void
        {
           
             contPlanos= DisplayObject3D(event.target);



            var distance:Number = 80;//distancia del movimiento
           
                                                           
                                                           
            var forwardAxis:Number3D = new Number3D(0, 0, -60);//coordenandas finales(x,z,y)
                                                               
                                                           
           
                                                           
            Matrix3D.rotateAxis(contPlanos.transform, forwardAxis);

 
                                                           
           
                                                               
            var sitio:Number3D = new Number3D();
           
                                                               
                                                               
            sitio.x = distance * forwardAxis.x + contPlanos.x;
           
                                                           
            sitio.y = distance * forwardAxis.y + contPlanos.y;
           
                                                               
            sitio.z = distance * forwardAxis.z +contPlanos.z;
                                                               
                                                               
       
                                                           
            TweenMax.to(contPlanos, 1, { x:sitio.x, y:sitio.y, z:sitio.z } );//ejecuto el movimiento con las variables finales
                                                               

quiza haya puesto algo mal... a que te refieres con lo del diccionario???

no estoy haciendo un libro, estoy haciendome una nueva web personal(la anterior estaba en as2)ahora que tengo mucho tiempo...

Xavi Vives

unread,
Jun 17, 2010, 5:02:28 PM6/17/10
to espaper...@googlegroups.com
Lo mas simple que se me ocurre es:

plane_objectClickHandler(event:InteractiveScene3DEvent):void{

var contPlanos= new DisplayObject3D();
//utilitzamos parent para referirnos al objeto contenedor padre
contPlanos = event.target.parent;
//lo que queramos hacerle a contPlanos..
...
}



2010/6/17 Carlos A.G. <calg...@gmail.com>
--
Has recibido este mensaje porque estás suscrito al grupo "ESPapervision3D" de Grupos de Google.
Para publicar una entrada en este grupo, envía un correo electrónico a ESPaper...@googlegroups.com.
Para anular tu suscripción a este grupo, envía un correo electrónico a ESPapervision...@googlegroups.com
Para tener acceso a más opciones, visita el grupo en http://groups.google.com/group/ESPapervision3D?hl=es.




--
xavi

Enrique Chirivella

unread,
Jun 17, 2010, 8:15:47 PM6/17/10
to espaper...@googlegroups.com
Podrias relacionar los planos pares con los impares.

Pares la parte de arriba impares las de abajo.

Y luego igualando las variables a los dos objetos.

Espero que te sirva.

--
Atentamente,

Enrique Chirivella Perez.

Este mensaje se dirige exclusivamente a su destinatario y puede
contener información CONFIDENCIAL sometida a secreto profesional o cuya
divulgación este prohibida en virtud de la legislación vigente. Si ha
recibido este mensaje por error, le ruego que me lo comunique
inmediatamente por esta misma vía y proceda a su destrucción.


Reply all
Reply to author
Forward
0 new messages