Comunidad de diseño web y desarrollo en internet online

Ancho de pantalla

Citar            
MensajeEscrito el 04 Nov 2009 01:54 pm
Hola a todos. Tengo una duda que no se si será posible de realizar.
Tengo un sitio desarrollado en flash, y el cliente me pide que el escenario, ocupe todo el ancho de la pantalla, obviamente en cualquier monitor.

Si utilizo la opción de ajustar por porcentaje, el diseño llega al borde primero en alto, sin llegar a ocupar todo el ancho, porque es casi cuadrado, y de loc ontrario se deformaría.

A esta altura, tampoco puedo rehacer todo el sitio como Flujo.

Entonces mi pregunta es si tengo algun código en flash, Java, o lo que fuere, para hacer que al entrar al sitio, lo que se calcule sea el ancho de la pantalla.... agrande el archivo segun ese ancho, y si el alto no entra, que simplemente aparezcan las barras de desplazamiento.
Se entiendo ? no quiero un fullscreen, si no que el swf ocupe todo el ancho, sin espacios vacios en pantalla.. y que el alto sea el proporcional que le corresponde.

Les agradezco de antemano. Me solucionarían un problema enorme.

Por percepto

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 04 Nov 2009 05:50 pm
Necesitas que solo el el escenario se agrande o todo con el contenido, ya que en este ultimo caso hay objetos y/o imagenes que se pueden pixelar.
Estas trabajando en AS2 o AS3 !?

Por Rybgek

15 de clabLevel



 

msie8
Citar            
MensajeEscrito el 04 Nov 2009 05:52 pm
si no usas siagramación líquida, deberías probar con algo de javaScript en el html. Sinó pones 100% en ambos, y dentro del swf, en el primer fotograma, le das
Stage.aling=TL que creo q es centrado, y tmb noScale. Buscá más sobre el tema, porque no estoy seguro de ese código, pero generalmente esa es la metodología. incluso en las opciones de exportación, tienes esos predeterminados en la parte del html.

Por candoti

46 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 04 Nov 2009 07:25 pm
Gracias por ayudar...
si supongo que tendre que agregar algo en java. Pero probe distintas cosas y no me funciona...

Alguien que tenga algo ?

Por percepto

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 04 Nov 2009 07:26 pm
Estoy trabajand en AS2. Y si.. puede pixelarese, trataré de evitarlo, pero no me queda otra. No puedo pasar toda la web a diagramación líquida.

Por percepto

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 04 Nov 2009 08:49 pm
Bueno, primero dentro de flash pones la linea:

Código :

Stage.scaleMode = "exactFit";
para que el flash se adapte al tamaño que le des en el html.

Luego para saber la resolucion de la pantalla tenes el codigo en javascript:

Código :

<A HREF="javascript:alert('Your resolution is '+screen.width+'x'+screen.height);">Clic para ver tu resolucion</A>
, con esto tenes el ancho que le vas a dar al flash en el html y calcula el porcentaje que le corresponde para el alto.

Saludos!

Por Rybgek

15 de clabLevel



 

msie8
Citar            
MensajeEscrito el 04 Nov 2009 10:05 pm
Casi casi !!!
Te cuento lo que hice, a ver si sacamos porque no funciona...

En el primer fotgrama del Flash coloque el primer código que me pasaste.
En la configuración de Publish, puse que sea por porcentaje 100% 100% ( si no hago esto no funciona para nada)

En el html puse el segundo código que me diste de java... entre los head
Tambien le puse cero en los parametros de los margenes.

Me toma perfecto el ancho.. pero me deforma todo.. es decir... evidentemente no me está calculando el alto que le corresponde. Incluso, ni siquiera es que mantiene el alto original. Hice la prueba de hacer el swf 100 pixeles más alto en el flsh, y cuando pruebo como se ve en html, el alto sigue siendo el mismo, y lo deforma aun más.
En síntesis, ocupa perfecto el ancho.. pero aplasta la imagen hasta que entra en el ancho de pantalla.

Que podrá ser... falta algo ?

Por percepto

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 04 Nov 2009 10:31 pm
Claro, lo que sucede es que en el html al ancho le podes dar que ocupe el 100% o un valor exacto en pixeles de acuerdo a la resolucion, pero el alto no es necesariamente tambien el 100%, por ejemplo si tu flash mide 800x700 y la resolucion en la que se carga es de 1024x768, al ponerle ancho=100% significa que el flash va a medir 1024, pero el flash no tiene que medir 768 de alto porque se va a desproporcionar, entonces haciendo el calculo de la regla de 3 simple a 1024 le corresponde el

Código :

alto = ((1024*700)/800)    //896
o sea que el alto del flash en el html tiene que ser una variable que se modifica de acuerdo a la resolucion :wink:.

Por Rybgek

15 de clabLevel



 

msie8
Citar            
MensajeEscrito el 04 Nov 2009 10:53 pm
entiendo la lógica de lo que planteas.
lo que no entiendo es donde y como poner un código para que esto se haga automaticamente, aunque entren en cualquier resolución.

Mi swf original mide 900x600
Al obligarlo que use 1024, se supone que más menos el alto proporcional sería 682
Pero tambien quiero que si entran desde un monitor más grande, o más chico.. esto se siga ajustando...
como sería entonces ? que código agrego en el html para el alto proporcional ?
Disculpa que te siga molestando Rybgek, y gracias nuevamente.

Por percepto

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 05 Nov 2009 12:11 am
Es asi en el html pones por ej:

Código HTML :

<title></title>
<script language="JavaScript" type="text/javascript" src="swfobject.js"></script>
<script language="JavaScript" type="text/javascript">
   var nAltoSWF=(window.screen.width*600)/900;
</script>

</head>

<body>
<script language="JavaScript" type="text/javascript">
   alert(nAltoSWF);
</script>


<div id="divSite" align="center">&nbsp;</div>
<script language="JavaScript" type="text/javascript">
// <![CDATA[
   var oFlash = new SWFObject("site.swf", "", "100%", nAltoSWF, "7", "", true);
   with(oFlash)
   {
      addParam("menu", "false");
      addParam("wmode", "transparent");
      addParam("allowFullScreen", "true");
      write("divSite");
   }
// ]]>
</script>
</body>


en la linea

Código HTML :

var nAltoSWF=(window.screen.width*600)/900;
600 = a el alto de tu swf y 900 = a el ancho
el resto es parte de la carga de un swf usando un script medio popular que lo podes bajar en [url=http://www.sendspace.com/file/ik924f][/url]
Saludos!

Por Rybgek

15 de clabLevel



 

msie8
Citar            
MensajeEscrito el 05 Nov 2009 12:57 am
Te pido mil disculpas por ser tan duro para entenderlo, pero sigue sin funcionarme. Me sigue deformando el alto.
Vos a pasar en limpio todo, a ver si encontramos el error.

En el flash, lo tengo seteado para que publique el html en porcentaje 100% de ancho y 100% de alto.
y en el primer fotograma coloque este código

Código ActionScript :

Stage.scaleMode = "exactFit";


y en el html, fui agregando las distintas cosas que me pasaste. Me parece que la segunda parte de tu codigo se duplica con la perte de abajo, de hecho me da un error al cargar. Elimine esa parte, el error ya no sale, pero de todos modos sigu sin ajustarse el alto correctamente. Acá lo pongo completo a ver si te das cuenta. el swf se llama gastronomina1.swf

Código HTML :

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>gastronomia1</title>
<style type="text/css">
<!--
body {
   margin-left: 0px;
   margin-top: 0px;
   margin-right: 0px;
}
-->
</style><A HREF="javascript:alert('Your resolution is '+screen.width+'x'+screen.height);">Clic para ver tu resolucion</A>
<script language="JavaScript" type="text/javascript" src="swfobject.js"></script> 
<script language="JavaScript" type="text/javascript">
    var nAltoSWF=(window.screen.width*600)/900; 
</script>  
</head>  

<body> 
<script language="JavaScript" type="text/javascript">
    alert(nAltoSWF); 
</script>   
<div id="divSite" align="center">&nbsp;</div>
<script language="JavaScript" type="text/javascript">
// <![CDATA[    
    var oFlash = new SWFObject("gastronomia1.swf", "", "100%", nAltoSWF, "7", "", true);    
    with(oFlash)
    {       
   addParam("menu", "false");       
   addParam("wmode", "transparent");       
   addParam("allowFullScreen", "true");       
   write("divSite");
       } 
// ]]> 
</script> 
</body>
</head>
<body bgcolor="#ecefe6">
<!--url's used in the movie-->
<!--text used in the movie-->
<!-- saved from url=(0013)about:internet -->
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="100%" height="100%" id="gastronomia1" align="top">
<param name="allowScriptAccess" value="sameDomain" />
<param name="movie" value="gastronomia1.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ecefe6" /><embed src="gastronomia1.swf" quality="high" bgcolor="#ecefe6" width="100%" height="100%" name="gastronomia1" align="top" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
</object>
</body>
</html>


Bueno, eso es todo, te agradezco nuevamente, y calculo que a muchos les servira cuando esto quede completo.

Por percepto

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 05 Nov 2009 01:27 am
El problema es que cerraste mal una etiqueta script

Código HTML :

<script language="JavaScript" type="text/javascript" src="swfobject.js">     var nAltoSWF=(window.screen.width*600)/900;  </script>
tiene que ser

Código HTML :

<script language="JavaScript" type="text/javascript" src="swfobject.js"></script>
<script language="JavaScript" type="text/javascript">
   var nAltoSWF=(window.screen.width*600)/900;
</script>
y despues de

Código HTML :

 </script>
</body> 
tenes que sacar lo que sigue porque estas cargando nuevamente el swf.

Por Rybgek

15 de clabLevel



 

msie8
Citar            
MensajeEscrito el 05 Nov 2009 02:06 am
mira te pido mil disculpa.. pero no va...
yo en el html lo tengo como vos me lo escribis.. no lo tengo en una linea. Y si elimino la parte de abajo como me mencionas me queda la pantalla en blanco.

pero al margen de eso, el gran problema es que se sigue deformando. Te puedo mandar los dos archivos por mp para que los revises ? o es mucho pedir ? digo.. ya tanta molestia... si me pasas tu mail por mp te mando los archivos.. y si encontramos el error publico aca todo terminado para otros que lo necesiten.

Por percepto

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 05 Nov 2009 02:22 am
Mira, te paso para que pruebes una vez mas y lo escribo en texto porque estaba probando que si copio desde el foro lo que esta en html (dentro de Dreamweaver al menos), hay lineas que se sobreponen y el html puede dar algunos errores despues.

//----------------------------------------------------------------------------------
<title></title>
<script language="JavaScript" type="text/javascript" src="swfobject.js"></script>
<script language="JavaScript" type="text/javascript">
var nAltoSWF=Math.round((window.screen.width*600)/900);
</script>
<A HREF="javascript:alert('Tu resolucion es '+screen.width+'x'+screen.height+' y el SWF medira '+nAltoSWF+' de alto');">Clic para ver tu resolucion</A>
</head>

<body>

<div id="divSite" align="center">&nbsp;</div>
<script language="JavaScript" type="text/javascript">
// <![CDATA[
var oFlash = new SWFObject("gastronomia1.swf", "", "100%", nAltoSWF, "7", "", true);
with(oFlash)
{
addParam("menu", "false");
addParam("wmode", "transparent");
addParam("allowFullScreen", "true");
write("divSite");
}
// ]]>
</script>
</body>
</html>
//----------------------------------------------------------------------------------

Bueno, cualquier cosa me avisas!

Por Rybgek

15 de clabLevel



 

msie8
Citar            
MensajeEscrito el 05 Nov 2009 12:58 pm
Buenas me meto 1 poco por medio aunk no sea mi tema pero me interesa bastante puesto que mucha gente pide que se ajuste el SWF al tamaño de cada pantalla... yo no se como hacerlo pero e seguido toda la conversacion y me gustaria saber si al final funciona.


Muchas gracias a ambos.

1saludo

Por jorgitox46

3 de clabLevel



 

safari
Citar            
MensajeEscrito el 05 Nov 2009 01:22 pm
Hola gente... para jorgito y otros que estén interesados en este tema.
El codigo como lo paso Ribgek en su ultimo comentario está perfecto.
No funcionaba porque yo no me di cuenta que para que cargue el swf esta utilizando un archivo de java (swfobject.js mencionado al principio de todo )
Con lo cual.. tiene razon que tenia que eliminar toda la parte de abajo de mi código.
OJO.. no se asusten si prueban el archivo en su PC y no carga.. a mi me funciona solo una vez subido al hosting.

Un par de cosas más :
- Si quieren.. yo borre esta parte que pongo abajo, porque no necesito que me avise que resolucion tengo. Sin esto funciona igual
<A HREF="javascript:alert('Tu resolucion es '+screen.width+'x'+screen.height+' y el SWF medira '+nAltoSWF+' de alto');">Clic para ver tu resolucion</A>

Nota dos : OJO... esto nse ajusta siempre, y por lo tanto.. en monitores de 20 pulgadas ya empezamos a tener problemas de pixelado. Me faltaria probar que pasa si trabajo en un tamaño más grande.. de manera que no se tenga que agrandar tanto para monitores grandes.... y probar como se ve cuando en lugar de agrandarse, se tiene que achicar...
por ejemplo.. diseñando a 1400 pixeles de ancho, y que se ajuste a 1024

Bueno gente.. yo esto lo busque varias veces... y gracias a Ribgek ya lo tenemos andando, con algunas limitaciones claro.
Gracias a todos.

Por percepto

46 de clabLevel



 

msie8
Citar            
MensajeEscrito el 16 Jul 2010 09:38 pm
Saludos, he visto el foro ya que tengo el mismo inconveniente, no se si me falte algún archivo, ya que el JS calcula bien la medida, sin embargo no me llama el SWF apesar de encontrarse en la misma raiz, es necesario tener en el servidor el SWFOBJECT.JS?

Gracias

Por yesidzeta

0 de clabLevel



 

firefox
Citar            
MensajeEscrito el 17 Jul 2010 12:18 pm
Si tenes que colocarlo en el mismo lugar que los otros archivos. Lo usa para cargar el swf

Por percepto

46 de clabLevel



 

msie8

 

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