Loop en AS3. While

Wednesday, 13. January 2010

While AS3

En ActionScript 3, así como en la mayoría de lenguajes de programación, podemos establecer sentencias o partes del código que realizarán de forma repetida una misma acción hasta el momento en el que nosotros le indiquemos que queremos que se detenga. Es decir, podemos hacer que una acción se repita mientras se cumpla una condición predefinida. Su utilización es bastante similar al uso de condicionales como el Condicional if-else o el Condicional Switch-Case.

Nuestra aplicación estará programada para comprobar si se cumple o no una condición. En caso de que se cumpla, realiza una acción. Sin embargo, a partir de este momento continuará revisando si la condición se cumple. En caso de que se siga cumpliendo, vuelve a ejecutar la acción, y continúa en un proceso circular hasta el momento en que esta condición se deje de cumplir. Este tipo de sentecias se conocen como Loop o Iteración (que significa repetición). Sin embargo hay un elemento extra: Debemos insertar un iterador, es decir, un elemento que modifique los valores para volver a comprobar si la condición se cumple. En caso de que este no exista, el flujo del programa se encontrará en un circulo sin salida y no podrá funcionar.

While funciona en una forma muy similar a un condicional if. Escribimos la palabra clave ‘while’ seguida de la condición que queremos que compruebe. Para revisar la estructura de las condiciones puedes ver éste artículo. Después entre llaves, introducimos las acciones que queremos que realice. Tendremos una estructura así:

while (condición){
//aciones
//iterador
}

Ejemplo:
var i:uint=1;
while(i< =6){
trace("Repetición Número: "+i);
i++;
}

Este ejemplo nos muestra un uso de While. Exisitiendo una variable con el valor 1, llega a la línea donde se encuentra el while. Entonces va a comprobar si 'i' es menor que, o igual a 6. Como se cumple esta condición, realiza la acción de trace (Saldrá un texto de la forma "Repetición Número 1"). Al llegar al i++, adiciona 1 a la variable i (escribir i++ es una forma reducida de escribir i=i+1; añadiendo 1 a la variable). Y, en el momento en que llega al cierre de llaves, regresa a la línea de while para comprobar de nuevo si se sigue cumpliendo la condición. En caso de cumplirse, vuelve a ejecutar el cuerpo del while. En caso de no cumplirse, continúa por fuera de las llaves del while, y sigue con lo que haya después de éste. Esta acción se realizará indefinidas veces hasta el momento en el que deje de cumplirse la condición.

Por eso la importancia del iterador. En este caso el iterador es la línea "i++;". En caso de que no modifiquemos la variable i, o alguna de las variables involucradas en la condición, ésta se seguirá cumpliendo siempre y el programa ejecutará infinitamente las acciones del while. Por lo tanto no podrá continuar, generando un error después de unos segundos, y será incapaz de hacer funcionar nuestra aplicación por este error lógico.

Recordemos que en caso de que la condición no se cumpla, nunca se ejecutará el código que hay dentro del while. Si queremos que se ejecute una vez, y después empiece a comprobar si se cumple o no la condición, debemos usar su variante Do-While.

Samuel Jiménez. EsK.

VN:F [1.9.1_1087]
Rating: 10.0/10 (3 votes cast)
Loop en AS3. While, 10.0 out of 10 based on 3 ratings

4 Responses to “Loop en AS3. While”



  1. GUSUM Says:

    Gracias por la explicasión Esk. He probado el ejemplo, me daba error, creo que es por el = del While. Se lo quité y perfecto!

    Saludos.

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  2. GUSUM Says:

    Hola,

    Creía que lo tenía claro, pero veo que no….
    ¿Cuál es la diferencia entre While y If??

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  3. eskombro Says:

    Lo que sucede es que entre el < y el = se pone un espacio automáticamente, y así lo borre vuelve a aparecer. Sin el espacio está bien. Simplemente borra ese espacio.

    La diferencia entre el while y el if es sencilla. En pocas palabras: el if comprueba la condición. Si es verdadera, ejecuta lo que hay entre las llaves. El while funciona casi igual: comprueba la condición, y si es verdadera ejecuta lo que está entre las llaves. Pero LA DIFERENCIA es que al terminar, vuelve a comprobar la condición, y si es verdadera, vuelve a ejecutar el mismo código que hay entre llaves. Eso indefinidamente hasta que la condición deje de cumplirse.

    El if solo lo ejecutará una vez. Por eso el While se utiliza para repetir acciones, para ejecutar varias veces un mismo código, y eso por eso lque se le llama un loop.

    Saludos

    VN:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)


  4. GUSUM Says:

    Muchas gracias por tu aclaración!!

    VA:F [1.9.1_1087]
    Rating: 0.0/5 (0 votes cast)

Leave a Reply