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

Centrar imagen con loadMovie, ¿como?

Estas en el tema de Centrar imagen con loadMovie, ¿como? en el foro de Flash y Actionscript en Foros del Web. Hola a todos: Si que hay preguntas sobre el loadMovie ¿eh?. Bueno, mi problema es el siguiente: Cargo una imagen con loadMovie a un clip, ...
  #1 (permalink)  
Antiguo 04/03/2006, 08:22
 
Fecha de Ingreso: diciembre-2001
Ubicación: Olavarria - Buenos Aires
Mensajes: 295
Antigüedad: 16 años
Puntos: 1
Centrar imagen con loadMovie, ¿como?

Hola a todos:
Si que hay preguntas sobre el loadMovie ¿eh?. Bueno, mi problema es el siguiente:
Cargo una imagen con loadMovie a un clip, clip.loadMovie("imagen.jpg"). La imagen se lee desde un xml. El tema es que como sabran ya la mayoria, al hacer esto la imagen se carga desde la esquina superior izquierda del clip. Lo que yo necesito es centrar la imagen cargada en el escenario, porque las imagenes son todas de diferentes tamaños y queda bastante feo como esta ahora. Se me habia ocurrido ir cambiando la posicion _x del clip para dar el efecto de centrado de la pantalla, pero no se me ocurre de que manera puedo hacerlo.

Si a alguien le ha pasado lo mismo o tiene algun consejito, sera mas que bienvenido.

Gracias de antemano
STARLANCER
__________________
"Caer esta permitido, levantarse es obligatorio"
  #2 (permalink)  
Antiguo 04/03/2006, 09:48
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
Hoola starlance:
Prueba con éste código:
var ancho_total:Number = Stage.width;
var alto_total:Number = Stage.height;
this.createEmptyMovieClip("cargador", 1);
cargador.loadMovie("image1.jpg");
function carga() {
var van:Number = cargador.getBytesLoaded();
var totales:Number = cargador.getBytesTotal();
var porcentaje:Number = Math.round((van/totales)*100);
if (porcentaje == 100) {
cargador._x = (ancho_total-cargador._width)/2;
cargador._y = (alto_total-cargador._height)/2;
trace("Ancho: "+cargador._width+". Alto: "+cargador._height);
clearInterval(intervalo);
}
}
var intervalo:Number = setInterval(carga, 100);

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #3 (permalink)  
Antiguo 05/03/2006, 07:06
 
Fecha de Ingreso: diciembre-2001
Ubicación: Olavarria - Buenos Aires
Mensajes: 295
Antigüedad: 16 años
Puntos: 1
Obviamente que es de ayuda. El codigo funciona, pero coloca el clip en 0,0 y no en el centro. O sea, que el valor de _x e _y es 0
__________________
"Caer esta permitido, levantarse es obligatorio"
  #4 (permalink)  
Antiguo 05/03/2006, 10:56
Avatar de Bandit
Moderador
 
Fecha de Ingreso: julio-2003
Ubicación: Lima - Perú
Mensajes: 16.726
Antigüedad: 14 años, 5 meses
Puntos: 406
El clip que se ha creado con AS si se coloca en las coordenadas x=0 e y=0 pero las imágenes se cargan en el centro del escenario.

Espero haberte sido de ayuda.
__________________
Bandit.
Si no sabes estudia y si sabes enseña.
http://www.banditwebdesign.com/
  #5 (permalink)  
Antiguo 06/03/2006, 07:20
 
Fecha de Ingreso: diciembre-2001
Ubicación: Olavarria - Buenos Aires
Mensajes: 295
Antigüedad: 16 años
Puntos: 1
Funciona a la perfeccion.

Mil gracias por la ayuda. Es por eso que quiero tanto este foro.
__________________
"Caer esta permitido, levantarse es obligatorio"

Última edición por starlancer; 06/03/2006 a las 07:34
  #6 (permalink)  
Antiguo 07/03/2006, 12:24
 
Fecha de Ingreso: diciembre-2001
Ubicación: Olavarria - Buenos Aires
Mensajes: 295
Antigüedad: 16 años
Puntos: 1
Me ha aparecido un pequeño problema. En mi pc funciona perfecto, pero cuando uso "simular descarga", por momentos la imagen no se centra y aparece sobre un costado. Tambien lo he probado en el server y hace lo mismo. ¿Por que?.
He colocado el codigo en una funcion, ya que las imagenes las extrae mediante un xml y haciendo click en los botones va cargando la imagen en el clip creado dinamicamente (el codigo de mas arriba).

si pueden ayudarme les estare mas que agadecido

STARLANCER
__________________
"Caer esta permitido, levantarse es obligatorio"
  #7 (permalink)  
Antiguo 07/03/2006, 12:54
Avatar de luistar  
Fecha de Ingreso: marzo-2005
Ubicación: Argentina
Mensajes: 939
Antigüedad: 12 años, 9 meses
Puntos: 0
suce que la la imagen no se centra hasta que se carge por completo
y sólo se centrará con respecto de _root
tienes que centrarlo ni bien el cargador tenga un ancho:

modificando el codigo de bandit quedaría algo así:
Código:
var ancho_total:Number = Stage.width;
var alto_total:Number = Stage.height;
this.createEmptyMovieClip("cargador", 1);
cargador.loadMovie("foto.jpg");
function carga() {
	if (cargador._width >0) {
		cargador._x = (ancho_total-cargador._width)/2;
		cargador._y = (alto_total-cargador._height)/2;
		trace("Ancho: "+cargador._width+". Alto: "+cargador._height);
		clearInterval(intervalo);
	}
}
var intervalo:Number = setInterval(carga, 100);
o puedes utilizar un este método un poco más elaborado que funcionará también en otros contextos fuera de _root en el que el movie clip se centra con respecto de su contenedor

:D
__________________
Si digo que soy mentiroso. ¿Lo soy?
  #8 (permalink)  
Antiguo 08/03/2006, 07:25
 
Fecha de Ingreso: diciembre-2001
Ubicación: Olavarria - Buenos Aires
Mensajes: 295
Antigüedad: 16 años
Puntos: 1
Si....ahora si.
He agregado al codigo de bandit lo que me has dicho y funciona. Deje "porcentaje==100" y le agregue "contador._width>0", por el momento funciona, espero perdure...

Muchisimas gracias

STARLANCER
__________________
"Caer esta permitido, levantarse es obligatorio"
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 15:42.