Comunidad de diseño web y desarrollo en internet online

imagen en movie clip

Citar            
MensajeEscrito el 28 Jul 2007 12:40 am
Como puedo saber el tamaño de una imagen que se carga en un MovieClip ??, por que si lo hago asi:

Código :


this.createEmptyMovieClip("centinela",1054);
centinela.loadMovie("c:\\fondo.jpg");
trace(centinela._height);
trace(centinela._width);


ambos trace me reflejan un valor 0

[/code]

Por centinela218

56 de clabLevel



 

msie
Citar            
MensajeEscrito el 28 Jul 2007 02:04 am
Usa el componente MovieClipLoader.

Para que las dimensiones tomen los valores correctos, debe haber cargado la imagen completa. Los eventos del componente te ayudarán con eso.

saludos

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 28 Jul 2007 02:50 am
Aumento explicación.

Primero. Si, usa la clase MovieClipLoader vamos a explicar que hace (A GRANDES RASGOS).

Creas una instancia de MovieClipLoader:

Código :

var mi_mcl : MovieClipLoader = new MovieClipLoader ();

Luego, le indicas a el Flash Player que cargue la imagen, y en que MovieClip lo vas a poner:

Código :

mi_mcl.load("miImagen.jpg", mi_mc);

después, Flash Player carga el archivo, PERO NO LO HACE DE UN GOLPE, lo hace TODO en orden, primero carga la imagen, y pasa un tiempo (Aun que sea micro o nano-segundos), entonces, que necesitas?.... (no soy un sabio), pero creo que quieres que te diga cuando lo ha cargado por completo. Eso te lo dice un Evento pero como haces el evento? pues ASI:

Código :

//Instanciamos a alguien que se disponga a observar la instancia "mi_mcl".
var oyente : Object = new Object();
//Asociamos el hecho de disponer a observar.
mi_mcl.addListener(oyente);

Entonces, ¿quien te va a decir cuando ya esta cargado por completo?
R = Pues el oyente. :wink:
Entonces, hagamos eventos para el que te va a decir TODOS LOS CHISMES de tu MovieClipLoader.

Código :

oyente.onComplete = function (exito){
          if(exito==true){
                  trace("Aquí dice, que ya se cargo.");
                  trace("Pero no te dice las propiedades de lo cargado.");
          }
};
oyente.onLoadInit = function (){
          trace("Pero aquí esta tu solución, aquí si te va a decir esto:");
          trace(mi_mc.width);
          trace("Que felicidad, mientras yo resolví mi problema, PERO LO LOGRE!!!");
};

AYUDE EN EL TEMA. :oops:

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 28 Jul 2007 09:05 am
Gracias por la respuesta, la provare enseguida

Por centinela218

56 de clabLevel



 

msie
Citar            
MensajeEscrito el 28 Jul 2007 07:15 pm
Hola FRAGGS, aqui estoy de nuevo con un pequeño detalle mas, para el codigo que me describiste:

Código :


var mi_mcl:MovieClipLoader = new MovieClipLoader();

mi_mcl.load("c:\dos.jpg", mi_mc);

//Instanciamos a alguien que se disponga a observar la instancia "mi_mcl".
var oyente : Object = new Object();//Asociamos el hecho de disponer a observar.
mi_mcl.addListener(oyente);

oyente.onComplete = function (exito)
{          
   if(exito==true)
   {
      trace("Aquí dice, que ya se cargo.");
      trace("Pero no te dice las propiedades de lo cargado.");
   }
};
oyente.onLoadInit = function ()
{
   trace("Pero aquí esta tu solución, aquí si te va a decir esto:");
   trace(mi_mc.width);
   trace("Que felicidad, mientras yo resolví mi problema, PERO LO LOGRE!!!");
};



me marca el siguiente error:

**Error** Escena=Escena 1, capa=Capa 1, fotograma=1:Línea 3: No hay ningún método que lleve por nombre 'load'.
mi_mcl.load("c:\dos.jpg", mi_mc);

Total de errores de ActionScript: 1 Errores comunicados: 1


No se si tenga que ver la version de AS, en mi caso estoy usando flash 8 con AS 2.0

Por centinela218

56 de clabLevel



 

msie
Citar            
MensajeEscrito el 29 Jul 2007 05:52 pm
Si, perdon, ME EQUIVOQUE.

El método o función que carga se llama loadClip, de la clase MovieClipLoader

y quedaría sustituida así

Código :

//EN VEZ DE ESTO
mi_mcl.load("c:\dos.jpg", mi_mc);// Este te va a marcar error

//SERIA ESTO
mi_mcl.loadClip("c:\dos.jpg", mi_mc);//Este no te va a marcar error


y con eso seria todo.

Perdón. :lol:

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox
Citar            
MensajeEscrito el 29 Jul 2007 09:21 pm
lo siento pero no me funciona, sera que soy demaciado torpe ???, no me marca error ni nada pero no me carga nada, ademas si le diera la direccion de una imagen inextistente tampoco me marca error, este es el siguiente codigo:

Código :


var mi_mcl:MovieClipLoader = new MovieClipLoader();
mi_mcl.loadClip("c:\\dos.jpg", mi_mc);//Instanciamos a alguien que se disponga a observar la instancia "mi_mcl".

mi_mcl.loadClip("c:\\dos.jpg",mi_mcl);

var oyente : Object = new Object();//Asociamos el hecho de disponer a observar.
mi_mcl.addListener(oyente);

oyente.onComplete = function (exito)
{
   if(exito==true)
   {
      trace("Aquí dice, que ya se cargo.");
      trace("Pero no te dice las propiedades de lo cargado.");
   }
};

oyente.onLoadInit = function ()
{
   trace("Pero aquí esta tu solución, aquí si te va a decir esto:");
   trace(mi_mc.width);
   trace("Que felicidad, mientras yo resolví mi problema, PERO LO LOGRE!!!");
};



Lo siento :(, ademas no entiendo la logica :(:(

Por centinela218

56 de clabLevel



 

msie
Citar            
MensajeEscrito el 30 Jul 2007 03:06 am
Mmmm, Como se llama el movieclip en donde vas a poner la imagen que vas a cargar?

En el ejemplo se llama "mi_mc" haaaa y también el código deberá estar en algún fotograma de la linea de tiempo.
Si aun asi no sale postea el fla y yo te ayudo.

Si no entiendes la lógica una de dos, o te pones a dedicarle mas tiempo o te les la ayuda de AS2 de flash 8

Cuídate bye

Por Gz.Francisco

378 de clabLevel



Genero:Masculino  

Programador economista y buzo

firefox

 

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