Comunidad de diseño web y desarrollo en internet online

Bitmap ajustable al navegador con llamadas a swd externos.

Citar            
MensajeEscrito el 14 Ene 2009 07:12 am
Hola,

Utilicé este tip para el fondo bitmap ajustable y me funcionó a la perfección (http://www.cristalab.com/tips/fondo-bitmap-que-se-ajusta-al-tamano-del-navegador-en-flash-c32220l/)

Pero tengo una duda que no sé si es posible: el fondo se ajusta bien, pero solo cuando redimensiono, al hacer click en los diferentes botones de menú para cambiar la sección, el fondo de cada sección aparece en su tamaño original y no con la resolución ajustada. Solo se ajusta si modifico el tamaño del explorador.

Os dejo la página que estoy diseñando:
http://www.operaflamencoproductions.com/test/PPAL.html

Las otras secciones son llamadas a otros swfs. ¿Quizá ese sea el problema?
¿Cómo podría resolverlo?

Gracias de antemano y un saludo,

Por santateresa

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Ene 2009 12:58 pm
Mira el evento onResize, donde seguramente hace referencia explícita a un fondo ... agrega ahí el resto para que todos escalen (probablemente te encuentres con problemas de estructura)

Jorge

PD: Tu avatar asusta a los niños

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 14 Ene 2009 04:57 pm
O bien, solo debe hecharle un vistazo a las variables StageWidth, y StageHeight. Hace poco otra persona pregunto algo similar y eso fue lo que se le olvido ajustar.

Por cierto, toma en cuenta lo que dijo Jorge acerca de tu avatar. El tamaño máximo permitido es de 100x100pxs, por favor cámbialo.
:wink:

Saludos!

Por M@U

BOFH

6210 de clabLevel

34 tutoriales
5 articulos

Genero:Masculino   Héroes Bastard Operators From Hell Editores

Bate jubilado de Cristalab

firefox
Citar            
MensajeEscrito el 15 Ene 2009 08:41 am
Este es el código que tiene el swf que contiene la sección "clientes", que es el mismo que tiene el swf de la película general.

Código :

Stage.scaleMode = "noscale";
//-----------------------
var StageWidth:Number = 992;
var StageHeight:Number = 411;
function escalaFondo()
{
   if (Stage.width > Stage.height) {
      fondo._width = Stage.width;
      fondo._yscale = fondo._xscale;
   } else {
      fondo._height = Stage.height;
      fondo._xscale = fondo._yscale;
   }
   
      fondo._x = (StageWidth - fondo._width) / 2;

   }
//-----------------------
Stage.addListener(this);
this.onResize = escalaFondo;
escalaFondo();
//-----------------------
stop();


Le quité la línea siguiente para que se mantuviese en su posición, ya que solo necesito que se ajuste al width.

Código :

"fondo._y = (StageHeight - fondo._height) / 2;"


El problema no está en el "StageWidth" ni en el OnResize. El problema es que funciona, pero SOLO cuando modificas el tamaño del explorador (en el caso de los fondos que están en .swf externos). Si mirais la web, el fondo inicial, que está dentro del swf de la película general, si se reajusta automáticamente. Pero los que están en otros swf, no lo hacen al abrirse, si no que hay que ajustar el navegador para que entonces cambien el tamaño.

EL EJEMPLO Prueben en la sección OFP o clientes ¿Lo ven?

Quizá hay alguna manera de que en esta parte pueda hacer referencia no al onResize, si no algo así como al ejecutarse o abrirse la película clientes.swf.

Código :

Stage.addListener(this);
this.onResize = escalaFondo;
escalaFondo();


Muchas gracias por sus respuestas de todas formas. Me estoy quebrando la cabeza con esto.
Un saludo, y ya me cambio el avatar, ¡lo siento!

Por santateresa

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Ene 2009 10:25 am
Tu lo has dicho: llama escplícitamente a escalaFondo() cada vez que lo necesites

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 15 Ene 2009 10:43 am
Ay que desastre soy... no entiendo lo que quieres decir.

Por santateresa

3 de clabLevel



 

firefox
Citar            
MensajeEscrito el 15 Ene 2009 12:12 pm
Pero los que están en otros swf, no lo hacen al abrirse


Quisiste decir al cargarse. Entonces al cargarse (eso quiere decir que tienes un preload y que detactas cuando termina de cargarse) tienes que escribir:

escalaFondo()

Eso suponiendo que la función haya sido declarada en la misma línea de tiempo, sino usa la ruta completa, por ejemplo _root.escalafondo()

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox

 

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