Comunidad de diseño web y desarrollo en internet online

Resolucion de pantalla a 100% solo si es menor de 1200px

Citar            
MensajeEscrito el 11 Nov 2008 08:49 am
Ya puse este post en java pero como nadie me respondió igual los que saben flas saben cómo hacerlo.

He hecho una web en flash a una resolución de 1200 px y queria que cuando al cargar detectara la resolución de la pantalla y si es menor de 1200px la redimensionara a 100% y cuando fuera mayor de 1200 lo dejase igual.

Este es el código html

Código :

Código :

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="es" lang="es">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>inicio</title>
<script language="javascript">AC_FL_RunContent = 0;</script>
<script src="AC_RunActiveContent.js" language="javascript"></script>
</head>
<body bgcolor="#000000">
<table width="100%" border="0" height="100%" cellspacing="0">
  <tr valign="middle">
    <td align="center" valign="middle">
<!--URL utilizadas en la película-->
<!--Texto utilizado en la película-->
<!--
<p align="center"></p>
-->
<!-- saved from url=(0013)about:internet -->
<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=9,0,0,0',
         'width', '1200',
         'height', '570',
         'src', 'inicio',
         'quality', 'high',
         'pluginspage', 'http://www.macromedia.com/go/getflashplayer',
         'align', 'middle',
         'play', 'true',
         'loop', 'true',
         'scale', 'noscale',
         'wmode', 'window',
         'devicefont', 'false',
         'id', 'inicio',
         'bgcolor', '#000000',
         'name', 'inicio',
         'menu', 'true',
         'allowFullScreen', 'true',
         'allowScriptAccess','sameDomain',
         'movie', 'inicio',
         'salign', ''
         ); //end AC code
   }
</script>
   </td>
  </tr>
</table>
<noscript>
   <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="1200" height="570" id="inicio" align="middle">
   <param name="allowScriptAccess" value="sameDomain" />
   <param name="allowFullScreen" value="true" />
   <param name="movie" value="inicio.swf" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="bgcolor" value="#000000" />   <embed src="inicio.swf" quality="high" scale="noscale" bgcolor="#000000" width="1200" height="570" name="inicio" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
   </object>
</noscript>
</body>
</html>

Por pausus

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Nov 2008 04:11 am
Deberias dejarlo en 100% en el html y hacer el codigo de comprobacion de dimensiones con AS. particularmente se me haria mas facil.

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 12 Nov 2008 07:40 am
Muchas gracias por la respuesta, me sirve como orientación pero cómo seria el código en actionscript?

Código :

Stage.scaleMode = "noScale";


y un IF

Por pausus

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 12 Nov 2008 09:40 am

Código :

//variables

var ANCHO_SWF:Number = 1200;
var ALTO_SWF:Number = 600;
var PROPORCION:Number = ANCHO_SWF / ALTO_SWF;
var anchoPantalla:Number = Stage.width;
var altoPantalla:Number = Stage.height;

var liEscalarPantalla:Object = new Object();

//funciones

function escalar1200():Void{
   anchoPantalla = Stage.width;
   altoPantalla = Stage.height;
   if(anchoPantalla < 1200){
      mc1200._width = anchoPantalla;
      mc1200._height = Math.round(anchoPantalla / PROPORCION);
      mc1200._x = Math.round((ANCHO_SWF - anchoPantalla)/2);
      mc1200._y = Math.round((ALTO_SWF - mc1200._height)/2) ;
   }else{
      mc1200._width = ANCHO_SWF;
      mc1200._height = ALTO_SWF;
      mc1200._x = 0;
      mc1200._y = 0;
   }
}

//eventos

liEscalarPantalla.onResize = function(){
   escalar1200();
}

//inicio

Stage.scaleMode = "noScale";
Stage.addListener(liEscalarPantalla);
escalar1200();


ejemplo y archivos

Saludos.

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox
Citar            
MensajeEscrito el 13 Nov 2008 09:57 am
Antes de todo muchísimas gracias por responder. Es una gran ayuda.

He estado probando el código y funciona siempre que haga referencia a un MC (al que llams mc1200) si no lo he entendido mal, pero el problema que tengo es que he de hacer referencia toda la película no solo a un elemento. Como se haria?

Por pausus

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Nov 2008 10:31 pm
He probado poner toda la web en un mc para hacer la comprobación y redimensión, y primero hace que la web vaya muy lenta y segundo tampoco la redimensiona. Seguiré probando. Lo que no entiendo es que tu script sí funciona.

Por pausus

5 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Nov 2008 10:39 pm
pasa el fla .... a mi email.

Por Acidbjazz

716 de clabLevel



Genero:Masculino  

Lima - Perú

firefox

 

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