Comunidad de diseño web y desarrollo en internet online

planos 3d en el espacio (flash y papervision?)

Citar            
MensajeEscrito el 16 Oct 2009 12:18 pm
hola a todos, tengo en mente hacer un site (tipico) dónde las secciones esten en rectangulos (como hojas de un dossier) que se mueven en el eje z y x, algo sencillo, como si todas las hojas tuvieran su situación en el espacio y cuando yo clico en el menu servicios p.ej. la camara avanza hasta la posición de esta hoja, y cuando clico en otro menu pues lo mismo.

Asi tendría cada sección en un mc en una posición y luego programaria el menu para que te mandara a un sitio u otro.

Alguien sabe como puedo plantearlo o algún tutorial que lo explique, sería como un coverflow de esos pero con las cover dispuestas dónde yo quisiera.

No sé si en este caso es necesario papervision, o sólo con flash ya podría solventarlo.

muchas gracias

Por dazao

20 de clabLevel



 

firefox
Citar            
MensajeEscrito el 16 Oct 2009 12:23 pm
mmm, necesitaría saber hacer lo más basico, crear dso planos (con su contenido mc dentro) y moverme de uno a otro, sabiendo supongo que lo demás ya está solucionado .D

Por dazao

20 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Oct 2009 07:57 am
Flash 10 viene con un ¿motor 3d? Bueno, realmente es bastante pobre. La idea de "z" que parecía estupenda se chafa un poco al convertir en bitMap todo lo que esté en un espacio 3D.
Quizá la "Old Fashioned Way" que tan adorablemente ha aplicado durante años Keith Peter y que se basa en dos simples fórmulas debería valer. Quizá su tutorial sobre perspectiva sigue siendo válido

Código ActionScript :

//fl "es la distancia focal"
xcenter=275; //xcenter e ycenter es el centro de nuestra "cámara"
ycenter=200;

//para cada objeto,
scale=fl/(fl+z);
_x=x*scale+xcenter;
_y=y*scale+ycenter;
_xscale = _yscale = scale*100;

Vamos, 3D es tener unas "variables" x,y,z de cada objeto, en un ENTER_FRAME hayamos la posición y escala de los objetos para que se vean en pantalla

Por Eliseo2

710 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Oct 2009 08:50 am
jeje, bueno, pues seguiré buscando, gracias

Por dazao

20 de clabLevel



 

firefox
Citar            
MensajeEscrito el 19 Oct 2009 10:11 am
Es que no sé exactamente lo que quieres hacer.
Imaginemos que tenemos varios MCs (mc0,mc1,mc2...) -Los meto en un array-

Código ActionScript :

mc0.xx=100
mc0.yy=100
mc0.zz=20

mc1.xx=-100
mc1.yy=100
mc1.zz=10
....

var obj:Array=new Array(mc0,mc1,mc2...)

var xcenter=275; //xcenter e ycenter es el centro de nuestra "cámara" 
var ycenter=200; 
var fl=100

addEventListener(Events.ENTER_FRAME,render)

function render(e:Event):void{
     for each (mc:MovieClip in obj){
         var scale:Number=fl/(fl+mc.zz); 
         mc.x=mc.xx*scale+xcenter; 
         mc.y=mc.yy*scale+ycenter; 
         mc.scaleX = mc.scaleY = scale;
         mc.alpha=20+scale;
     }
}

Vale, ¿queremos que el "xcenter" e "ycenter" cambien al pulsar el ratón y lo sitúe "en frente" de un objeto? ¿queremos que cambie la distancia focal para alejarnos de los objetos o para acercarnos a los objetos?

Sí, es cierto que hace falta "ordenarlos" en la DisplayList según su valor de zz (para que los objetos más lejos estén "por encima" de los que están más cerca) Pero es lo "básico".

NOTA:Esto sólo sirve si queremos ver los MCs siempre "de frente" (no nos podemos acercar por un lado, p.e.) Si quisiéramos tener algo más tridimensional -esto es sólo un ejercicio de perspectiva-

Por Eliseo2

710 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.