Comunidad de diseño web y desarrollo en internet online

carga de imagenes que no logro hacer funcionar..

Citar            
MensajeEscrito el 26 Dic 2005 11:09 pm
Hola, tengo una pelicula con tres layers, en uno hay un mc que llama unas imagenes, en el otro hay un mc que hace una pequeña animacion como una cortinilla para la imagen y pues en el tercero pongo el codigo, la idea es que las imagenes se cargen al mc contenedor (son tres imagenes) y basandome en el codigo del tutorial de carga de imagenes aleatorias uso lo de load movie, primera pregunta: por que el codigo, (que sirve para el mx2004) no funciona en el flash 8, da mensaje de error,

Código :

imagenes_mc.loadMovie("ima00" add (1+random(5)) add ".jpg");
teniendo en cuenta esto decidi experimentar y lo puse de esta manera

Código :

imagenes_mc.loadMovie("img" + (num) + ".png");

pero como son tres imagenes y deben cargar de forma secuencial lo hice asi:

Código :

var num = 1;
if(num<=3){
   imagenes_mc.loadMovie("img" + (num) + ".png");
   num ++ ;
   }else{
      num = 1;
   };

pero solo me carga la primera imagen, no las rota, esa es la segunda pregunta, la primera es solo por saber por que no funciona el codigo (conocimientos generales que llaman) y la segunda pues saber por que solo carga la primera imagen y las otras no, sera que el contador esta mal implementado? o es la condicional?, les agradeceria si puedieran explicarme lo que sucede :wink:

Por Finvara

807 de clabLevel



 

EL reino de los duendes...

firefox
Citar            
MensajeEscrito el 27 Dic 2005 12:02 am
Pues yo digo que no las rota por que no tienes ningun sentencia iterativa!!!!! for, while... etc etc

Por Wanaya

Claber

1115 de clabLevel

4 tutoriales

 

La Unión Sovietica U_U

firefox
Citar            
MensajeEscrito el 27 Dic 2005 12:49 am
ok parece que tienes razón, entonces se me ocurre esto:

Código :

//creo la variable
var num;
//ciclo
for(num=1;num<=3;num++){
     //carga las imagenes
     imagenes_mc.loadMovie("img" + (num) + ".png");
     //el contador debe retornar a cero
     if(num==3){
        num=0;
      }
}

pero evidentemente esta mal ya que me cierra el flash, es como si estuviera haciendo un loop infinito o algo asi...como deberia acomodar la funcion de ciclo??? o que estoy haciendo mal???

Por Finvara

807 de clabLevel



 

EL reino de los duendes...

firefox
Citar            
MensajeEscrito el 27 Dic 2005 01:07 am
lee los comentarios

Código :

var num; //si declaras una variable, por favor asociale un tipo de dato
//ciclo
for(num=1;num<=3;num++){
     //carga las imagenes
     imagenes_mc.loadMovie("img" + (num) + ".png");
     //el contador debe retornar a cero
     if(num==3){ //aqui esta el error, si entra a un ciclo infinito
        num=0;
      }
}


corregido

Código :

var num:Number;
//ciclo
for(num=1;num<=3;num++){
     //carga las imagenes
     imagenes_mc.loadMovie("img" + (num) + ".png");
}


aunque aun asi, no creo que haga lo que esperas...

saludos :)

Por Maikel

BOFH

5575 de clabLevel

22 tutoriales
5 articulos

Genero:Masculino   Team Cristalab

Claber de baja indefinida

firefox
Citar            
MensajeEscrito el 27 Dic 2005 01:44 am
Si porque el ciclo terminará tan rapido que ahora solo te mostrará la última imagén.

Podrías mejor cargar las imagenes en 3 movieClips

Código :

var alto:Number=alto de tus imagenes;
for(i=1; i<=3; i++){
     //creamos un nuevo clip con un nuevo nombre y nueva profundidad
    createEmptyMovieClip("clip"+i,this.getNextHighestDepth()); //cargamos la imagen
   this["clip"+i].loadMovie("img"+i+".png");
    //la pocicionamos en un lugar donde se vea
   this["clip"+i]._y=alto;
    //la variable que sirve para pocicionar
   alto+=alto;
}


nota: este script te acomoda las imagenes verticalmente, si las quieres horizontal solo en ves de afectar _y afecta _x

Por Wanaya

Claber

1115 de clabLevel

4 tutoriales

 

La Unión Sovietica U_U

firefox
Citar            
MensajeEscrito el 27 Dic 2005 03:06 am

Maikel escribió:



aunque aun asi, no creo que haga lo que esperas...

saludos :)

Tenias razon, de todas formas gracias, probe el codigo que me propone wanaya pero tampoco funciona, solo carga la primera imagen, a menos de que cree los otros movie clips bajo el primero y no se puedan ver, el objetivo es que cuando cargue la imagen, este en el escenario durante unos frames (digamos 60) y cuando regrese al primer frame cargue la segunda imagen y de la misma manera con la tercera, luego de la tercera tiene que cargar la primera de nuevo y repetir, pero por lo que veo el ejecuta el codigo cuando se posiciona en el primer frame y cuando el lector retorna al primer frame ejecuta de nuevo el codigo como si no lo hubiera hecho antes, entonces se me ocurre que podria modificar la variable num que es la que me da el numero de imagen, en el ultimo frame, de tal manera que cuando llegue al primer frame tenga un valor distinto, esto es posible?? o que otra manera hay de hacer lo que pretendo, muchas gracias por las respuestas

pd:seria lo mismo del ejemplo de carga aleatoria, pero de manera secuencial :wink:

Por Finvara

807 de clabLevel



 

EL reino de los duendes...

firefox
Citar            
MensajeEscrito el 27 Dic 2005 04:03 am
si de esa forma, con tu primer codigo:

solo que aumentas la varible de num en el ultimo fotograma

Por Wanaya

Claber

1115 de clabLevel

4 tutoriales

 

La Unión Sovietica U_U

firefox
Citar            
MensajeEscrito el 27 Dic 2005 12:56 pm

wanaya escribió:

si de esa forma, con tu primer codigo:

solo que aumentas la varible de num en el ultimo fotograma

gracias por responder, eso ya lo probe pero al parecer si inicio la variable como uno en el primer fotograma y la aumento en el ultimo, cuando regresa a el primer fotograma se convierte de nuevo en uno, lo unico que se me ocurre seria iniciar la variable de manera global, de tal modo que se le asigne el uno en otra parte, entre en la animacion y luego modificarlo en el ultimo fotograma, pero lo primero no tengo ni la menor idea de como se hace, el codigo que habia puesto en el ultimo fotograma es el siguiente:

Código :

//teniendo en cuenta que la variable inicia en uno
//la incremento primero para que cuando ejecute la tercera img
//y se incremente a cuatro, reinicie en uno
num++;
if(num>3){
   num=1;
}

pero como dije antes, solo muestra la primer imagen, a lo que dedusco que cuando llega al primer fotograma y encuentra num=1 reinicia la variable y como consecuencia solo muestra la primera imagen
[/code]

Por Finvara

807 de clabLevel



 

EL reino de los duendes...

firefox
Citar            
MensajeEscrito el 27 Dic 2005 01:18 pm
deja a ver si entiendo bien.

Comienza tu pelicula cargas UNA imagen que va hasta el fotograma 60 en pantalla(hasta ahi todo bien con el codigo que tienes verdad)

ahora quieres que cargue una disinta por cada "vuelta" que da a la linea de tiempo.

inicializa tus variables en el 1er frame y lo cargas en el segundo, en el ultimo aumentas y mandas no al primero sino al segundo, alli la variable no tomara su valor inicial nuevamente.

SAludos

Por Prozac

SWAT Team

1546 de clabLevel

1 tutorial

Genero:Masculino   SWAT

donde se regresa el viento

firefox
Citar            
MensajeEscrito el 27 Dic 2005 01:43 pm
:shock: ufff que bien, eso era precisamente lo que queria!!!!! :cry: :cry: de ahora en adelante sere tu esclavo si asi lo deseoas o gran Master :latigo: :alabado:
pd: Muchisismas gracias a todos, todas las respuestas fueron my utiles para mi :wink: :wink:

Por Finvara

807 de clabLevel



 

EL reino de los duendes...

firefox

 

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