Ver Mensaje Individual
  #2 (permalink)  
Antiguo 08/08/2008, 10:10
Avatar de jahepi
jahepi
Colaborador
 
Fecha de Ingreso: diciembre-2004
Ubicación: Querétaro
Mensajes: 1.124
Antigüedad: 19 años, 11 meses
Puntos: 43
Respuesta: Problema con mi codigo AS

Hola Jaime18 !

El evento onEnterFrame de los movieclips se dispara X veces por segundo, si tu película esta configurada para reproducirse 24 cuadros por segundo, el evento onEnterFrame se dispara 24 veces por segundo.

En cambio el ciclo while ejecuta un bloque de código si la condición es verdadera muchísimo más veces por segundo, en tu caso la condición del while nunca es falsa, por eso no sale del ciclo y como resultado te manda esa alerta el flash player.

No tiene caso que pongas ahí el while, con que pongas el if es más que suficiente, ya que el onEnterFrame se ejecuta como te dije antes, N veces por segundo y tu condición se va estar revisando constántemente.

Mira por ejemplo ve el while que colocaste dentro del onEnterFrame:

Código PHP:
while ( _x 630 ) {
 if (
posX 490 ) { 
     
_x += -100/velocidad
  
}

En esta caso, no le veo sentido que aumentes la propiedad _x de tu movieclip, ningún ojo alcanzarían a ver el movimiento en x.

Te pongo 2 casos, movimiento en x con onEnterFrame y con While, crea un movieclip y ponle como nombre de instancia 'mc', y colocalo en donde quieras:

Prueba pegando este código en el primer fotograma:

Código PHP:
this.onEnterFrame = function():Void {
    if(
mc._x >= Stage.width) {
        
this.onEnterFrame null;
    }
    
mc._x += 10;
}; 
Vas a ver que tu movieclip recorre el escenario.

Ahora borra el código anterior y sustitúyelo por este:

Código PHP:
while(mc._x Stage.width) {
    
mc._x += 10;

EL mc llego hasta los límites del ancho de la película, pero no viste el movimiento en x, esto es como te dije antes porque el ciclo while se ejecuta cientos o no sé miles de veces por segundo.

Espero que se hayan aclarado tus dudas.


Un saludote !
__________________
Una contraseña es como la ropa interior. No deberías dejarlas afuera a la vista de otras personas, deberías cambiarla regularmente, y ni se te ocurra prestarla a extraños.