Comunidad de diseño web y desarrollo en internet online

RESOULCION DISPAR

Citar            
MensajeEscrito el 24 Jun 2009 04:29 am
Hola gente

Abro este tema por que acabo de terminar un site y utilize algo de diagramacion liquida para obtener una correcta (o al menos la mejor posible) visualizacion del site, cualquiera sea el tipo de monitor y resolucion seteada por el usuario.
En la pc que diseñe el site se ve perfecto (1280 x 1024). Las dimensiones del swf madre es de 1180 x 741 (un calculo aproximado de los marcos usuales de los browsers). Ahora cuando lo corro de una laptop con una resolucion de 1366 x 768 el resultado es catastrofico. Lo alinea a arriba a la izquierda, pero lo corta poco menos de la mitad.
En el primer frame del fla de mi swf madre pongo las siguientes lineas:

Código ActionScript :

Stage.align = "TL";
Stage.scaleMode = "noBorder";
 


Mi html que contiene el swf madre tiene el siguiente codigo:

Código HTML :

<head>
//encabezado que obvie...
html, body {
height: 100%;
margin: 0;
padding: 0;
overflow-y:hidden;
overflow-x:hidden;
margin-left: 0px;
margin-top: 0px;
margin-right: 0px;
margin-bottom: 0px;
}
</head>
</head>
</body>
<body bgcolor="#000000" leftmargin="0" topmargin="0" rightmargin="0" bottommargin="0">
<script language="javascript">
   if (AC_FL_RunContent == 0) {
      alert("Esta página requiere el archivo AC_RunActiveContent.js.");
   } else {
      AC_FL_RunContent(
         'codebase', 'http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0',
         'width', '100%',
         'height', '100%',
         'src', 'menu',
         'quality', 'high',
         'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
         'align', 'middle',
         'play', 'true',
         'loop', 'true',
         'scale', 'noscale',
         'wmode', 'window',
         'devicefont', 'false',
         'id', 'menu',
         'bgcolor', '#000000',
         'name', 'menu',
         'menu', 'true',
         'allowFullScreen', 'false',
         'allowScriptAccess','sameDomain',
         'movie', 'menu',
         'salign', ''
         ); //end AC code
   }
</script>
<noscript>
   <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="100%" id="menu" align="middle">
   <param name="allowScriptAccess" value="sameDomain" />
   <param name="allowFullScreen" value="false" />
   <param name="movie" value="menu.swf" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="bgcolor" value="#000000" />   <embed src="menu.swf" quality="high" scale="noscale" bgcolor="#000000" width="100%" height="100%" name="menu" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
   </object>
</noscript>
</body>
</html>
 


Si alguien me puede dar alguna medicina para este problema lo agradecere!!!
Muchas gracias
Saludos
Flavio
.

Por flavexxx

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Jun 2009 08:59 am
Para hacer una correcta diagramación líquida debes poner la propiedad scale en "noSacale":

Código ActionScript :

Stage.scaleMode = "noScale";


Después dentro de tu flash debes tener una función que capte el cambio de tamaño del stage de tu flash y reubique o escale los elementos.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 24 Jun 2009 01:01 pm
Gracias elchininet!

Tenes alguna referencia o ejemplo de esta funcion que mencionas?

Saludos

Flavio
.

Por flavexxx

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 24 Jun 2009 09:00 pm
1. - El proceso de trabajo para hacer una diagramación líquida es el mismo en AS2 y AS3 lo que como el lenguaje es distinto la forma de implementarlo es diferente.

2. - La resolución que debes escoger es la más pequeña a la que tu público meta va a ver la página, si la ponen más pequeña que esto entonces no reubiques ni redimensiones y algunos elementos quedarán fuera de pantalla. En mi caso en particular trabajo a 760 x 420 px para arriba si la página se ve en unas dimensiones inferiores se esconden elementos pero intento que en cualquier resolución los elementos queden bien ubicados en la pantalla. Si utilizas SWFObject para insertar los SWF no te debe preocupar la compatibilidad de los browsers.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 25 Jun 2009 01:34 am
elchininet...

Para mi sorpresa al cambiar el noBorder por el noScale, en mi fla madre, no solo se sigue viendo por la mitad el site en laptops con pantallas wide con resoluciones estilo 1366 x 768, sino que ahora en el monitor de mi ordenador 1280 x 1024 que con el noBorder ajustaba perfecto, con el noScale arranca barbaro del extremo superior izquierdo, pero queda corto unos largos pixeles en todo el extremo inferior.

elchininet... El codigo esta arriba e indudablemente tengo un bug que realmente, hasta mirando numerosos post de diagramacion liquida, no lo encuentro... Tendra algo que ver que el swf este seteado en 1180 px x 741 px? Que llame a swfs en otros niveles? O que algunos elementos swf, como por ejemplo bitmaps, esten partes de ellos fuera del stage?

Estoy muy perdido en este punto, pero NO LE VOY A AFLOJAR

H E L P!

Por flavexxx

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Jun 2009 02:00 am
Otro detalle... Cuando ejecuto el swf en el browser, hace un salto. Primero se acomoda hacia abajo, y luego sube dejando espacio en el extremo inferior derecho.

Por flavexxx

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 25 Jun 2009 06:58 am
Eso que te sucede es porque estás utilizando diagramación líquida pero en la función onResize no estás distribuyendo tus elementos. Cada uno de tus elementos en pantalla debe ser redimensionado o distribuido por esta función, de lo contrario ocurrirá lo que te dije en un anterior post, algunos elementos quedarán fuera de pantalla. El código que postaste anteriormente saca las medidas del stage pero no hace nada con ellas, guiándote por ellas debes hacer todos los cambios de escala o posición de tus elementos.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 26 Jun 2009 08:08 am
Bueno si has realizado tu proyecto de esta forma (50 swf distribuidos en diferentes niveles), pues sí, debes a cada uno de ellos posicionarlos y redimensionarlos.

Consejo para lo próxima utiliza un sólo SWF y lo que haces es unicar objetos en la pantalla (de todas formas tendrás que referirte a cada uno de ellos para redimensionarlos o reajustarlos). Es por eso que es mejor utilizar clases que tengan una intarfaz común que sea para redimensionar para que cuando cambie el tamaño de la pantalla llames al mismo método en todas y logres cambiarlas de tamaño o redistribuirlas, así queda el trabajo más organizado y limpio.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox
Citar            
MensajeEscrito el 02 Jul 2009 06:50 pm
Primero que nada gracias por responder a mis incertidumbres.

En cuanto a tu respuesta de hacer una funcion que contenga todos los swfs, me parece que por ahi no esta el bug, deberia de funcionar igual. Probe de sacar todos los swfs que llama el nivel principal/index y sigue el mismo problema. Seguire buscando diferentes ejemplos de digaramacion liquida hasta lograrlo.

Con respecto a tu sugerencia de no utilizar mas niveles y manejarme solo con un swf. Que metodo deberia usar? La ventaja de manejar niveles es que se pisan diferentes grupos de swf, y claro, no esta todo el sitio contenido en un solo archivo, lo cual lo hace mas liviano. Hasta ahi llegue. Me podrias apuntar cual seria el metodo al que te referis, y si tenes alguna url de un buen tutorial o ejemplo, mejor. Gracias!

Por flavexxx

13 de clabLevel



 

firefox
Citar            
MensajeEscrito el 02 Jul 2009 11:11 pm
Aunque hayas eliminado los SWF que lees debes implementar que el evento onResize varíe las dimensiones y posiciones de tus elementos como el fondo y demás . Si crees que el problema no está aquí, pues sigue entonces buscando diferentes ejemplos de diagramación líquida, a lo mejor das con el problema.

En cuanto a tu segunda pregunta, lee este hilo, sé que te reponderá algunas preguntas.

Un tutorial de este método de trabajo creo que no hay, aunque puedes visitar este tuto que te puede dar una idea de como empezar.

Por elchininet

Claber

3921 de clabLevel

17 tutoriales

Genero:Masculino  

Front-end developer at Booking.com

firefox

 

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