Comunidad de diseño web y desarrollo en internet online

Mas con diagramación líquida

Citar            
MensajeEscrito el 08 Feb 2009 01:12 pm
Hola, a tod@s, he hecho una cabecera para un sitio creado con un CMS, y ahhoa quiero que se adapte al ancho de la pantalla. He visto el tutorial sogre diagramación líquida, y estoy intentando implementarlo en la cabecera, pero no lo consigo.

Os explico más o menos lo que tengo y lo que hago.
En la película tengo varios mc:
mc_fondo -> ancho 2000px, alto 180px, de momento medidas suficientes. Este fondo tiene que ocupar todo el ancho y centrado en la pantalla.
mc_derecha, mc_centro y mc_izquierda - estos mcs, son los que tengo que consiguir situar correctamente. mc_derecha y mc_izquierda, en los bordes de la pantalla, y mc_centro en el centro.

Código HTML
---------------------------------

Código :

<body bgcolor="#ffffff" marginheight="0" marginwidth="0">
<center>
   <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="180" id="Cabecera" align="middle">
   <param name="allowScriptAccess" value="sameDomain" />
   <param name="allowFullScreen" value="true" />
   <param name="movie" value="Cabecera.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#ffffff" />   <embed src="Cabecera.swf" quality="high" bgcolor="#ffffff" width="100%" height="180" name="Cabecera" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
   </object>
</center>
</body>


Código AS
---------------------------------
En el primer frame de la película, y unicamente para probar estoy usando el mc_izquierdo.

Código :

 // No quiero que el contenido de Escale
   Stage.scaleMode = "noScale";
// Coloco el fondo en el centro de la película
   _root.mc_fondo._y = (Stage.width/2) - (mc_fondo._width/2);
// Situo el cuadro de la izquierda en el borde izquierdo de la película
   _root.mc_izquierda._x = 0;

// Creo un nuevo controlador de eventos y
// defino la función que debe realizar
   var miListener:Object = new Object(); 
   miListener.onResize = function()
   {
      _root.mc_fondo._y = (Stage.width/2) - (mc_fondo._width/2)
      _root.mc_izquierda._x = 0;   
   };
// Agrego el controlador
   Stage.addListener(miListener); 


Estoy seguro que el fallo que estoy cometiendo es una estupided, pero me esta volviendo loco.
¿ Podeis guiarme o ayudarme ?, gracias.

Por cierto, a alguien se le ha ocurrido usando flash, y la diagramación líquida, crear un CMS. Podria quedar realmente bonito. :wink:

Por Chory

23 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Feb 2009 05:08 am
Hola solo unos detalles:


    Tienes que especificar la alineación de la película, por defecto se centra y en diagramación eso no ayuda.
    No es necesario que repitas la alineación a la izquierda ya que esta no varia.
    No es necesario que uses el _root si el código esta la linea de tiempo raíz donde también se encuentran los mc's


Código :

 // No quiero que el contenido de Escale
   Stage.scaleMode = "noScale";
// Aqui 
    Stage.align = "TL";  //TopLeft Arriba a la izquierda
// Coloco el fondo en el centro de la película
   _root.mc_fondo._y = (Stage.width/2) - (mc_fondo._width/2);
// Situo el cuadro de la izquierda en el borde izquierdo de la película
   _root.mc_izquierda._x = 0;

// Creo un nuevo controlador de eventos y
// defino la función que debe realizar
   var miListener:Object = new Object(); 
   miListener.onResize = function()
   {
      _root.mc_fondo._y = (Stage.width/2) - (mc_fondo._width/2)
      _root.mc_izquierda._x = 0;  [color=#73D216]//No es necesario que repitas esto[/color]
      _root.mc_derecha._x = Stage,width - _root.mc_derecha._width; //Para colocar el de la derecha
   };
// Agrego el controlador
   Stage.addListener(miListener);


Saludos

Por GersonM_17

330 de clabLevel



Genero:Masculino   Héroes

Flash AS3 / PHP Developer

firefox
Citar            
MensajeEscrito el 10 Feb 2009 11:35 am
He estado haciendo algunas pruebas y hay algo que me mosquea bastante
Para centrar el fondo uso esta operacion

Código :

mc_fondo._x = (Stage.width/2) - (mc_fondo._width/2);
¿ es correcta verdad?
pues no me cambia el valor, de hecho no me devuelve nada, lo he separado en tres operaciones

Código :

var centro1:Number =(Stage.width/2);
var centro2:Number =(mc_fondo._width/2);
var centro:Number = centro1 -centro2;
mc_fondo._x = centro;
y sigue igual.

Por Chory

23 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Feb 2009 11:46 am
Si esta bien, fíjate en el nombre de instancia quizá se te halla escapado una tecla al escribir el nombre.
Otra forma de hacer el centrado.

Código :

mc_fondo._x = (Stage.width - mc_fondo._width)/2;

Por GersonM_17

330 de clabLevel



Genero:Masculino   Héroes

Flash AS3 / PHP Developer

firefox

 

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