Foros del Web » Creando para Internet » Flash y Actionscript »

Centralizar un MC dentro de una pelicula

Estas en el tema de Centralizar un MC dentro de una pelicula en el foro de Flash y Actionscript en Foros del Web. Hola señores Tengo un MC que utilizo como contenedor de imagenes externas que cargo a traves de loadMovie. Por supuesto, el esta dentro de una ...
  #1 (permalink)  
Antiguo 12/06/2005, 10:46
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 9 meses
Puntos: 7
Centralizar un MC dentro de una pelicula

Hola señores

Tengo un MC que utilizo como contenedor de imagenes externas que cargo a traves de loadMovie. Por supuesto, el esta dentro de una pelicula principal (_root).

El caso es que las fotos que se cargan en ese MC tienen anchos y altos muy diferentes, asi que me gustaria que cuando cargue la imagen externa el MC se centralice en relacion a la pelicula.

Trate usando este script:
Código:
// Capturar los valores para el calculo
//
anchoLoader = loaderFoto_mc._width;
altoLoader = loaderFoto_mc._height;
anchoScreen = System.capabilities.screenResolutionX;
altoScreen = System.capabilities.screenResolutionY;
//
// Centralizar la imagen
//
loaderFoto_mc._x = (anchoScreen-anchoLoader)/2;
loaderFoto_mc._y = (altoScreen-altoLoader)/2;
Mi problema NO ES que no centraliza, el script de arriba hace su trabajo... mi problema es que como contenedor de imagenes, el centro debe estar en la esquina superior izquierda y cuando el script centraliza el MC, lo hace en relacion a esa esquina y no al centro del objeto, asi que la esquina de la foto comienza a partir del centro de la pantalla.

Para estar mas claros con el resultado, vean la muestra aqui.

Ese calculo de arriba lo uso para centralizar ventanas pop-up via javascript y me funciona perfectamente, pero cuando trate de aplicarlo a Flash, no tengo el mismo resultado.

Una nota aclaratoria, en esa muestra algunas fotos pareceran no mostrarse antes de cargar la siguiente foto, eso es porque ese trabajo es para un CD interactivo y no para verse en linea.
__________________
JuniHH
- Mi blog
- Mi portafolio
  #2 (permalink)  
Antiguo 12/06/2005, 11:10
Avatar de webgeri  
Fecha de Ingreso: marzo-2005
Ubicación: montevideo
Mensajes: 374
Antigüedad: 19 años, 8 meses
Puntos: 0
ubicar segun centro de MC

mira yo lo hago con este script

Código:
//el punto donde quieres este ubicado el centro de tu foto ubicacionx e y
ubicacionx = 200;
ubicaciony = 200;
a = 0;
barra.barra2._xscale = 0;
//al inicio el MC barra2 dentro del MC barra lo escalamos a 0 en x
createEmptyMovieClip("contenedor", 1);
//creamos un MC contenedor
//ubicamos el contenedor en cierta posicion
contenedor._x = ubicacionx;
contenedor._y = ubicaciony;
//cargamos dentro de contenedor nuestro archvio .jpg
contenedor.loadMovie("foto3.jpg");
contenedor._alpha = 0;
//bajamos el alpha del MC contenedor a 0
//hacemos el preload del MC contenedor
barra.onEnterFrame = function() {
   //definimos una variable porcentaje que cambia segun cargue el MC contenedor
   porcentaje = Math.round((contenedor.getBytesLoaded()/contenedor.getBytesTotal())*100);
   //modificamos la escala x del MC barra2 dentro del MC barra segunla varibale porcentaje
   barra.barra2._xscale = porcentaje;
   if (porcentaje == 100) {
      //si el porcentaje llega a 100 ocultamos la barra de precarga
      barra._alpha = 0;
   }
   if (porcentaje == 100) {
      //cuando el porcentaje llega a 100 preguntamos
      //para que lo mueva una sola vez preguntamos si la variable a=0
      if (a == 0) {
         a = 1;
         //pasamos la variable a = 1
         contenedor._x -= contenedor._width/2;
         //reubicamos el contenedor en la posicion que queremos ubicand
         //su punto medio en 200,200
         contenedor._y -= contenedor._height/2;
      }
      //si el alpha del MC contenedor es menor que 100
      if (contenedor._alpha<100) {
         //si es asi le vamos sumando de a 10
         contenedor._alpha += 10;
      }
   }
};
btn.onPress = function() {
   a = 0;
   barra._alpha = 100;
   contenedor.unloadMovie();
   contenedor._x = ubicacionx;
   contenedor._y = ubicaciony;
   contenedor.loadMovie("foto3chica.jpg");
   contenedor._alpha = 0;
};
se puede mejorar un poco pero funciona
lo puedes ver aqui

http://www.geocities.com/webgeri/randomjpgalpha2.html

beuno espero te sirva

sldos

lo que tendrias que cambiar es la ubicacionx y ubicaciony
por el centro de la pelicula
puedes hacerlo asi

Código:
ubicacionx = Stage.width/2;
ubicaciony = Stage.height/2;
trace(ubicacionx);
trace(ubicaciony);
pero cuando hago eso con una pelicula de 500x400
me devuelve

248
198

bueno sldos
__________________
...
.....todos somos muy ignorantes
...lo que ocurre es que
......no todos ignoramos las mismas cosas
:-D
...

:: jack experimentos ::
:: jack fotografias ::
:: jack fotografias 2 ::
  #3 (permalink)  
Antiguo 12/06/2005, 12:04
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 21 años, 4 meses
Puntos: 406
Hola junihh:
Para cargar en el centro cambia a éste código en la primera parte:
ubicacionx = _width/2;
ubicaciony = _height/2;

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #4 (permalink)  
Antiguo 12/06/2005, 15:04
Avatar de junihh  
Fecha de Ingreso: febrero-2004
Ubicación: República Dominicana
Mensajes: 997
Antigüedad: 20 años, 9 meses
Puntos: 7


caramba Webgeri !!!... con un script asi asustarias hasta a Superman... asi que tuve que simplificarlo y tomar solo lo que necesitaba, que era la centralizacion del MC al stage.

Tu script lo reduje a esto:
Código:
centrar_btn.onPress = function() {
	cuadro._x = Stage.width/2;
	cuadro._y = Stage.height/2;
	//
	cuadro._x -= cuadro._width/2;
	cuadro._y -= cuadro._height/2;
};
Puedes ver una prueba que hice aqui. Esa prueba no tiene la foto a cargar porque esa parte la manejo sin problemas, el caso era centralizar el dichoso MC teniendo este su centro en la esquina superior izquierda.

Muchas gracias por tu ayuda, me quedo de maravilla el contenedor. Tambien gracias a ti Bandit.
__________________
JuniHH
- Mi blog
- Mi portafolio
  #5 (permalink)  
Antiguo 12/06/2005, 15:07
Avatar de webgeri  
Fecha de Ingreso: marzo-2005
Ubicación: montevideo
Mensajes: 374
Antigüedad: 19 años, 8 meses
Puntos: 0
perdona por el script enorme
es que no andaba con tiempo de dejar solo lo que te servia
igual sabia que encontrarias lo que necesitabas

bueno sldos

p.d.: te funciona biein el Stage._height
o te sucede lo mismo que a mi que reduce 2 pixeles al tamaño real?
__________________
...
.....todos somos muy ignorantes
...lo que ocurre es que
......no todos ignoramos las mismas cosas
:-D
...

:: jack experimentos ::
:: jack fotografias ::
:: jack fotografias 2 ::
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:01.