Comunidad de diseño web y desarrollo en internet online

Ayuda para cargar varios movie clips a tiempos distintos

Citar            
MensajeEscrito el 12 Sep 2007 12:36 am
Cómo pordría hacer para lo siguiente:

Tengo varios objetos (cada objeto es un movie clip) que se mueven a través de un escenario, todos ubicados en diferentes layers y en el fotograma 1 (no usé más fotogramas)

Lo que quiero hacer, es que estos movie clips, aparezcan aleatoriamente mientras corre el swf. Osea, no quiero que me aparezcan de un jalón juntos, sino que se comiencen su apariciión en diferentes segundos.

así lo tengo armado_
LAYER 1: x_b (con "x_b" comienza es nombre de cada uno de mis movie clip)
layer2_:x_b2
layer3:_x_b3
layer4: x_b4

Lo que NO QUIERO :(x_b, x_b2, x_b3, x_b4 aparecen del segundo 1 hasta que cierras el swf)
lo que SI quiero: x_b aparece en el segundo 1 hasta que cierras el swf
x_b2 aparece del segundo 15 hasta que cierras el swf
x_b3 aparece en el segundo 7 hasta que cierras el swf
x_b4 aparece en el segundo 11 hasta qu cierras el swf.

Y digamos que ya vimos las apariciones en disitinto momento y terminó el show, pero resulta que vvuelves a abrir el swf y aparecen todos los "x_b" en disitinto orden y en disitintos segundos. Osea, van intercambiando la hora de aparicioón y el orden. Esto es lo que quiero hacer.

Ojalá alguien me pueda ayudar, y muchas gracias por leerse el tiempo para leer esto.

Por bekkhaaa

12 de clabLevel



 

firefox
Citar            
MensajeEscrito el 13 Sep 2007 04:42 pm
coloca una capa (layer) con el siguiente codigo:

Código :

// detiene todos los clips
x_b.stop();
x_b1.stop();
x_b2.stop();
x_b3.stop();
// define en un arreglo los segundos en que aparece cada clip
arrTiempo = [1, 7,15,11]; 
// define en otro arreglo los 4 clips
arrClips1 = [x_b, x_b2, x_b3, x_b4]; // los nombres de clips sin comillas
// ****************************************************
//  función desordena numeros
// ****************************************************
DesordenaNumeros = function (NumMin, NumMax, swIniVacio) {
   var arr1 = new Array ();
   var arr2 = new Array ();
   for (n=NumMin; n<=NumMax; n++) arr1.push(n);
   for (n=NumMin; n<=NumMax; n++) {
      PosTemp = random(arr1.length);
      arr2.push(arr1[PosTemp]);
      arr1.splice(PosTemp,1);
   }
   if (swIniVacio) arr2.splice(0,0,0); // agrega un elemento vacio
   return arr2;
}
//*************************************************************
   var arrOrden = DesordenaNumeros(0, arrClips1.length, false);
//*************************************************************
// cambia el orden de los clips aleatoriamente
arrClips2 = new Array();
for (i=0; i< arrClips1.length; i++) arrClips2.push(arrClips1[arrOrden[i]]);



// defines variable que cuenta los segundos
Tiempo1 = 0;
// defines la función onEnterFrame
this.onEnterFrame = function () {
   Tiempo2 = Math.floor(getTimer() / 100); // numero de segundos transcurridos desde que se inicio el SWF
   if (Tiempo1 <> Tiempo2) {
      Tiempo1 = Tiempo2;
      for (i=0; i < arrTiempo.length; i++) {
         if (arrTiempo[i] == Tiempo1) {
            arrClips2[i].play();
         }
      }
   }

}

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 13 Sep 2007 11:02 pm
Hola, antes que otra cosa, muchas gracias por ayudarme.
Pues mira, ya lo probé y parece que no me funciona, no se mueve nada. Qué pudo haber estado mal? Detecté que se te fue un nombre en lo el array donde se declaran los nombres de los clips.

Gracias

Por bekkhaaa

12 de clabLevel



 

firefox
Citar            
MensajeEscrito el 14 Sep 2007 01:12 pm

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7

 

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