Comunidad de diseño web y desarrollo en internet online

Repetir un ciclo for

Citar            
MensajeEscrito el 22 Nov 2007 10:54 pm
Hola a tdos tengo una pregunta tengo el seiguiente codigo

this.attachMovie("seis", "seis_mc", this.getNextHighestDepth());
seis_mc._x = 0;
seis_mc._y = 0;

for (k=0; k<m; k++) {
var nie = seis_mc.duplicateMovieClip("seis_mc"+k, this.getNextHighestDepth());
docho_mc._visible = false;
seis_mc._visible = false;
nie._x = random(250)+5;
nie._y = 10;
nie._xscale = 80;
nie._yscale = 80;
nie.vel = random(6)+4;
nie.onEnterFrame = function() {
this._y += this.vel;
if (this._y>=150) {
this._alpha -= 20;
}
};
}


mi pregunta es como hago para que cuado el objeto "seis_mc", llegue al limte en y, se vuelva a repetir el ciclo "for" y siga hasta n# determinada de veces.

Gracias

Por edisontabo

25 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Nov 2007 03:19 am
Coloca el for en una función o método y llámalo las veces que quieras.

Por [Sheer]

Claber

283 de clabLevel

1 tutorial

Genero:Masculino  

Barcelona

opera
Citar            
MensajeEscrito el 23 Nov 2007 02:28 pm
Segun tu codigo, yo no veo que el objeto "seis_mc" cambie de posición, siempre permanece en (0,0).

Los que cambian de posición son lon m objetos que creas y que se llaman "seis_mc" + consecutivo, y son varios

Define bien cual objeto es el que disparara la ejecución del for.

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 23 Nov 2007 03:16 pm
Hola,
Como ves seis_mc es traido desde la biblioteca, lo que quice hacer con el ciclo es duplicarlos hacerles una caida por animacion pero cuando estos llegan al limite en y estos desaparecen; lo que quiere en si es que cuando uno sólo llegue al limite en y comience de nuevo el ciclo, ya lo he hecho para juegos pero saltando de fotogramas en fotogramas pero lo que neceito es en un solo frame

Por edisontabo

25 de clabLevel



Genero:Masculino  

firefox
Citar            
MensajeEscrito el 23 Nov 2007 04:59 pm
No quieres que comience el ciclo "FOR", ¿verdad?

Lo que quieres es que se coloque en la posición 10 y siga callendo de nuevo?

si esto es lo que quieres entonces supongamos que el limite es 555:

Código :

this.attachMovie("seis", "seis_mc", this.getNextHighestDepth());
docho_mc._visible = false;
seis_mc._visible = false;
seis_mc._x = 0;
seis_mc._y = 0;
//------------------------------------------
function InicializaClip (objClip) {
     objClip._x = random(250)+5;
     objClip._y = 10;
     objClip._xscale = 80;
     objClip._yscale = 80;
     objClip.vel = random(6)+4;
     objClip._alpha = 100;
}
//------------------------------------------
for (k=0; k<m; k++) {
     var nie = seis_mc.duplicateMovieClip("seis_mc"+k, this.getNextHighestDepth());
     InicializaClip(nie);
     nie.onEnterFrame = function() {
          this._y += this.vel;
          if (this._y>=150) {
               this._alpha -= 20;
          }
          if (this._y>555) InicializaClip (this);
     };
}

Por gabynufe

Claber

446 de clabLevel



 

México, D.F.

msie7
Citar            
MensajeEscrito el 23 Nov 2007 07:11 pm
Hola, gracias por tu ayuda, me sirvio de mucho.
Estamos a punto de navidad, creo que esto les puede servir a mas de uno
Dejo el codigo completo, junto con los arreglos de gabynufe:

Código :

this.attachMovie("seis", "seis_mc", this.getNextHighestDepth());
seis_mc._visible = false;
seis_mc._x = 0;
seis_mc._y = 0;
//------------------------------------------
function InicializaClip(objClip) {
   objClip._x = random(490)+20;
   objClip._y = 10;
   objClip._xscale = 80;
   objClip._yscale = 80;
   objClip.vel = random(6)+4;
   objClip._alpha = 100;
}
//------------------------------------------
var m = random(15)+5;
for (k=0; k<m; k++) {
   var nie = seis_mc.duplicateMovieClip("seis_mc"+k, this.getNextHighestDepth());
   InicializaClip(nie);
   nie.vel = random(10)+4;
   nie.onEnterFrame = function() {
      this._y += this.vel;
      if (this._y>=300) {
         //Y si colocamos esto en ves de lo anterior
         //if (this._y>=random(300)+150) {
         this._alpha -= 20;
      }
      if (this._y>350) {
         InicializaClip(this);
      }
   };
}



y de nuevo mil gracias gabynufe

Por edisontabo

25 de clabLevel



Genero:Masculino  

firefox

 

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