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

Anchura foto cargada con loadmovie

Estas en el tema de Anchura foto cargada con loadmovie en el foro de Flash y Actionscript en Foros del Web. ¿Cómo calculo la ancura de una foto externa cargada con loadMovie?...
  #1 (permalink)  
Antiguo 20/01/2006, 03:47
 
Fecha de Ingreso: enero-2002
Ubicación: Graná
Mensajes: 646
Antigüedad: 15 años, 11 meses
Puntos: 0
Anchura foto cargada con loadmovie

¿Cómo calculo la ancura de una foto externa cargada con loadMovie?
  #2 (permalink)  
Antiguo 20/01/2006, 03:54
Avatar de webgeri  
Fecha de Ingreso: marzo-2005
Ubicación: montevideo
Mensajes: 374
Antigüedad: 12 años, 9 meses
Puntos: 0
luego de que se termina de cargar la foto
preguntas la anchura asi
si cargas el .jpg en el movieclip mc_foto
el ancho se pregunta con _width

Código:
mc_foto._width
prueba luego que este cargada la foto antes te devolvera 0

Código:
trace(mc_foto._width)
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 20/01/2006, 04:07
 
Fecha de Ingreso: enero-2002
Ubicación: Graná
Mensajes: 646
Antigüedad: 15 años, 11 meses
Puntos: 0
Pracias por responder, pero me da 0. ¿Me puedes echar una mano? es la 1ª vez que hago esto. El código es:

// crear un clip vacio para cargar la imagen
this.createEmptyMovieClip("cargador", 1);
// crear un campo de texto para mostrar el porcentaje cargado de la imagen
this.createTextField("porcentaje", 2, donde_x, donde_y, 100, 0);

this.cargador.loadMovie(imagen);

// cargar la imagen
this.cargador.get
this.cargador._alpha = 0;
// precarga
this.onEnterFrame = function() {
this.cargador.percent = (this.cargador.getBytesLoaded()/this.cargador.getBytesTotal())*100;
if (!isNan(this.cargador.percent)) {
this.porcentaje.text = Math.round(this.cargador.percent)+" %";
}
// imagen cargada
if (this.cargador.percent == 100) {
alfa(this.cargador);
this.porcentaje.removeTextField();
delete this.onEnterFrame;
}
};

trace(this.cargador._width);

anchura_foto=this.cargador._width;
altura_foto=this.cargador._height;
anchura_contenedor=400;
altura_contenedor=380;
punto_x=(anchura_contenedor/2)-(anchura_foto);
punto_y=(altura_contenedor/2)-(altura_foto/2);

this.cargador._x = punto_x;
this.cargador._y = punto_y;

}
  #4 (permalink)  
Antiguo 20/01/2006, 16:24
Avatar de webgeri  
Fecha de Ingreso: marzo-2005
Ubicación: montevideo
Mensajes: 374
Antigüedad: 12 años, 9 meses
Puntos: 0
hola

bueno a ver lo que quieres es cargar la foto y luego de cargadada la foto
posicionarla en el medio de la pantalla?

el anchura_contenedor es el ancho de la pantalla?
suponiendo que es asi lo preguntas con Stage.width y height

bien ahora usas muchos this en tu codigo
a veces no es necesario que uses tantos
luego hay un pequeño detalle cuando cargas fotos externas
(lo aprendi consultando en foros)

antes de preguntar si se termino de cargar la foto
debes preguntar si se empezo a cargar la foto
porque lo que siempre estamos preguntando son los bytes del movieclip
cuando se empieza a cargar el archivo en este caso la foto en el clip
es como si estuvieramos preguntando los bytes del archivo o foto
la cosa es que al principio los bytes del clip vacio son 4
y tenemos que preguntar no solo si el porcentaje cargado llego a 100
sino tb si los bytes totales son mayores a 4

te paso el codigo explicado
cualquier duda me dices
ah y luego de que el porcentaje es 100
ubicas la foto en donde quiere
supongo que la quieres ubicar en el medio de la pelicula no?
sino es asi di nomas
tenias un pequeño error alli cuando ubicabas segun el ancho

bueno el codigo

Código:
// crear un clip vacio para cargar la imagen
this.createEmptyMovieClip("cargador", 1);
cargador.loadMovie(imagen);
cargador._alpha = 0;
// precarga
this.onEnterFrame = function() {
	//preguntas el porcentaje del clip cargador
	percent = (cargador.getBytesLoaded()/cargador.getBytesTotal())*100;
	//preguntas si los bytes totales del clip cargador son mayores a 4 - es como preguntar si se empezo a cargar el archivo
	if (cargador.getBytesTotal()>4) {
		//si el porcentaje es menor a 100
		if (percent<100) {
			//muestras el porcentaje cargado en la caja de texto
			porcentaje.text = Math.round(percent)+" %";
		}
		//si el porcentaje llego a 100
		if (percent == 100) {
			//pregunta el ancho y alto de la foto y del contenedor
			anchura_foto = cargador._width;
			altura_foto = cargador._height;
			anchura_contenedor = Stage.width
			altura_contenedor =Stage.height
			//calculas el punto x e y 
			punto_x = (anchura_contenedor/2)-(anchura_foto/2); //aca vos tenias - (anchura_foto)
			punto_y = (altura_contenedor/2)-(altura_foto/2);
			//ubicas el clip con la foto donde quieres
			cargador._x = punto_x;
			cargador._y = punto_y;
			//llamas a tu funcion para subir el alfa
			alfa(this.cargador);
			//remueves el porcentaje
			porcentaje.removeTextField();
			//borras el onEnterframe
			delete this.onEnterFrame;
		}
	}
};
si no funciona o tienes dudas consulta nomas

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

:: jack experimentos ::
:: jack fotografias ::
:: jack fotografias 2 ::
  #5 (permalink)  
Antiguo 21/01/2006, 13:45
 
Fecha de Ingreso: enero-2002
Ubicación: Graná
Mensajes: 646
Antigüedad: 15 años, 11 meses
Puntos: 0
Muchas gracias por tu respuesta, hiciste un gran trabajo. Lo que realmente quiero está muy cerca de lo que hiciste y resulta que quiero centrar las fotos en una pequeña área abajo a la izquierda que he puesto para que se cargen las fotos allí. Dicha área mide 400x377 y empieza en 0, 222. Gracias de nuevoy un saludo
  #6 (permalink)  
Antiguo 21/01/2006, 15:58
Avatar de webgeri  
Fecha de Ingreso: marzo-2005
Ubicación: montevideo
Mensajes: 374
Antigüedad: 12 años, 9 meses
Puntos: 0
ah ok entonces pues lo que tendrias que hacer es
poner

Código:
anchura_contenedor = 400
altura_contenedor = 377
y luego al resultado del punto_y le sumas 222 asi

Código:
cargador._y = punto_y+222
creo que ya lo has logrado sino cualquier consulta di nomas

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

:: jack experimentos ::
:: jack fotografias ::
:: jack fotografias 2 ::
  #7 (permalink)  
Antiguo 22/01/2006, 16:13
 
Fecha de Ingreso: enero-2002
Ubicación: Graná
Mensajes: 646
Antigüedad: 15 años, 11 meses
Puntos: 0
Si, lo logré haciendo justo eso. Mil gracias :D
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 21:38.