Ver Mensaje Individual
  #1 (permalink)  
Antiguo 17/08/2009, 15:32
Avatar de wolfmoon
wolfmoon
 
Fecha de Ingreso: octubre-2007
Mensajes: 189
Antigüedad: 16 años, 7 meses
Puntos: 2
Problema con ajuste de pantalla

Acudo de nuevo a vosotros porque ya no se que hacer, me pidieron la web hara ya unos meses y sigo con problemas.

El tema es el siguiente:

Tengo una web en la que hay un fondo que se ajusta al tamaño del navegador, el codigo es el siguiente:

Código:
Stage.scaleMode = "noScale";
// la peli se ajusta arriba a la izquierda
Stage.align = "TL";
// definimos el tamaño mínimo de la peli
ancho_minimo = 550;
alto_minimo = 400;
// en este array almaceno los clips que se tienen
// que ajustar al cambiar el tamaño de la pantalla
clips_ajustables = new Array();
// definimos el objeto que va a detectar el cambio de tamaño
myListener = new Object();
// asociamos el objeto al stage para detectar los cambios
// de tamaño del stage
Stage.addListener(myListener);
// ejecuto la función rec al cambiar el tamaño
myListener.onResize = rec;
function rec():Void{ 
    
   //---Tamaño del fondo 
   var maxWidth:Number = Stage.width; 
   var maxHeight:Number = Stage.height; 
    
   fondo._width = maxWidth; 
   fondo._yscale = fondo._xscale; 
    
   if(fondo._height < maxHeight){ 
       
      fondo._height = maxHeight; 
      fondo._xscale = fondo._yscale; 
       
   } 
    
   //---Posición del fondo 
   fondo._x = (Stage.width - fondo._width ) / 2; 
   fondo._y = (Stage.height - fondo._height ) / 2; 
    
}

Eso seria para ajustar el fondo al navegador, ahora cada seccion de dicha web se cargaria en un contenedor que se ajustaria al centro de la pantalla. El codigo seria este:

Código:
function stageResize () {
	holder._x = Math.round ((Stage.width - holder._width) / 2);
	holder._y = Math.round ((Stage.height - holder._height) / 2);
}
// -- listener
miListener = new Object ();
miListener.onResize = function () {
	// -- cada vez que el objeto Stage es modificado, el listener
	// -- es notificado y llama a la función stageResize
	stageResize ();
};
// -- registra el objeto Stage
Stage.addListener (miListener);
// -- crea dinamicamente un clip de película contenedor
this.createEmptyMovieClip ("holder", 1);

// -- bucle
this.onEnterFrame = function () {
	// -- calcula el porcentaje cargado y lo asigna a la variable percent
	var percent = Math.round ((this.holder.getBytesLoaded () / this.holder.getBytesTotal ()) * 100);
	if (!isNan (percent)) {
		// -- muestra el porcentaje de la película que se ha cargado
		cargado.text = percent + "%";
	}
	if (percent == 100) {
		// -- cuando se completa la carga, situo el clip contenedor en el centro de la pantalla
		this.holder._x = (Stage.width - holder._width) / 2;
		this._holder._y = 0;
		stageResize ();
		// -- fin de bucle
		delete this.onEnterFrame;
	}
}; 
Y el codigo del boton seria:

Código:
on (release) {holder.loadMovie ("movie1.swf");
} 
Bueno pues aqui llega el problema, el contenedor se ajusta bien al centro, pero en el momento que cambias el navegador de tamaño, dicho contenedor se esconde en la parte izquierda de la pantalla.

socorroooo....

Última edición por wolfmoon; 17/08/2009 a las 15:38