Loop en AS3. For

Saturday, 23. January 2010

Loop for en AS3

En anteriores artículos ha quedado claro cómo los loops, también conocidos como búcles son herramientas de programación de las cuales disponemos en ActionScript y que nos permiter reducir la escritura y repetición de código cuando hacemos nuestras aplicaciones en Flah y Flex. Después de haber visto cómo funcionan While y Do-While, vamos a ver como utilizar el loop for.

El loop for nos permite realizar una acción un número específico de veces. Este numero va a depender de un elemento que conocemos como iterador, y es una variable o elemento encargado de ir llevando la cuenta de cuántas repeticiones hemos realizado. Por lo tanto, lo primero que debemos definir es este iterador, después de usar la palabra clave for. Podemos usar una variable definida antes, o podemos definirla en el mismo loop, pero en todo caso debe estar definida antes de ser utilizada. Normalmente se utiliza la variable ‘i’ como iterador de la siguiente manera:
for (var i=0;i<8;i++){
//acciones
}

De esta forma estamos definiendo el iterador (var i=0), y le estamos diciéndo cual es la condición que queremos que cumpla (i<8 o ‘mientras que i sea menor que 8′), y la variación que queremos que tenga después de cada repetición (i++ o ‘sumarle 1 a i’). Por lo tanto esta línea quiere decir, en palabras sencillas “realizar las acciones entre las llaves 8 veces”. La condición puede ser cualquiera que necesitemos. Veamos un ejemplo sencillo:

Leer el artículo completo…

VN:F [1.9.1_1087]
Rating: 8.3/10 (12 votes cast)

Eliminar los acentos y tildes. Funcion con AS3.

Thursday, 21. January 2010

Acentos y tildes en AS3

Quiero compartir una función propia creada para devolver una palabra o frase sin acentos, sin tildes, que muchas veces nos sirve para comparar palabras, frases, o en general cualquier cadena de texto sin que las tildes sean un problema para invalidar esa comparación. En otras ocasiones, queremos almacenar datos sin acentos, y trabajando en Flash con AS3 no disponemos de esta función. Por lo tanto hice una para mí, para utilizar cada que la necesito. La comparto por si alguien llega a necesitarla. Esta función sirve y está hecha para AS3 pero funciona también en AS2. Tendremos que quitar la parte que dice “as String;” en la segunda línea para que funcione con AS2.

En primer lugar vemos el código en ActionScript, y posteriormente la analizamos parte por parte. Vale aclarar que en este caso devuelve todo en minúsculas porque así la necesito, pero se puede quitar esto con borrar la tercera línea “toLowerCase()”…

El código es:
function sinAcentos(textoConAcentos) {
var texto1:String=textoConAcentos as String;
texto1=textoConAcentos.toLowerCase();
var acentos:Array=new Array("á","é","í","ó","ú");
var sinAcentos:Array=new Array("a","e","i","o","u");
function quitarAcentos(texto:String,letraSplit,letraCambio) {
var letras:Array=texto.split(letraSplit);
var nuevoTexto:String=new String();
for (var i=0;i < letras.length;i++) {
nuevoTexto+=letras[i];
nuevoTexto+=letraCambio;
}
nuevoTexto=nuevoTexto.substring(0,nuevoTexto.length-1);
return nuevoTexto;
}
for (var i=0; i < acentos.length; i++) {
texto1=quitarAcentos(texto1,acentos[i],sinAcentos[i]);
}
return texto1;
}
var texto:String="Muy buenos díás áéíóúÁ";
var textoSinAcentos=sinAcentos(texto);
trace(texto); // Saldrá: "Muy buenos díás áéíóúÁ"
trace(textoSinAcentos); // Saldrá: "muy buenos dias aeioua"

Estudiemoslo por partes a continuación:

Leer el artículo completo…

VN:F [1.9.1_1087]
Rating: 8.9/10 (8 votes cast)

Loop en AS3. Do-While

Thursday, 14. January 2010

Do-While AS3

Como lo vimos en el artículo sobre la utilización del loop while, en ActionScript 3 podemos comprobar si se cumple una condición antes de realizar una acción, y repetir dicha acción cuantas veces sea neceario. Esta es precisamente la utilidad de los loop en la programación.

Sin embargo, cuando utilizamos while, realizamos primero la comprobación de la condición y después empezamos a realizar las acciones definidas. Pero, en el caso en que la condición no se cumpla, el código contenido dentro del while nunca se ejecutará. Por esta razón existe una variante del loop while: la conocemos como Do-While. Con esta variante lo que hacemos es ejecutar por primera vez el código o las acciones. Una vez ejecutado, comprobamos si la condición se cumple y en dado caso repetimos las acciones hasta que deje de cumplirse. Por lo tanto, la diferencia fundamental con el while simple radica en que, así nunca se cumpla la condición, con el Do-While siempre se ejecutará el código contenido dentro del loop así sea una vez.

Para utilizarlo, no empezamos por escribir la condición. Empezamos utilizando la palabra clave ‘DO’, y en forma seguida ponemos las acciones y el iterador entre llaves. Sólo al final pondremos el ‘WHILE’ y la condición. Tendremos una estructura así:
do{
//acciones
//iterador
} while (condición)

Para revisar la forma en que debemos introducir las condiciones puedes revisar éste artículo.

Ejemplo:
var i:uint=0;
do{
trace("Repetición Numero: "+i);
i++;
} while (i>3)

En este caso, la condición para ejecutar la acciones dentro del while sería que el valor de i fuera mayor que 3. Por suspesto, como el valor es 0, utilizando while nunca se ejecutaría. Sin embargo, como en el Do-While ponemos primero el código del while y luego la condición, se ejecutará el codigo una vez y se realizará el trace. Una vez realice las acciones la variable ‘i’ pasará a tener el valor 1. Es en este momento en que se ejecutará la comprobación. Como el valor de ‘i’ es 1, y 1 no es mayor a 3, el programa no volverá al principio del while, sino que continuará con el resto del código que tengamos.

La importancia del Do-While es que no siempre sabemos si se cumplirá una condición o no. Como en muchas ocasiones comprobamos una condición porque no sabemos que valor tendrá una variable, o no sabremos si habrá sucedido una acción, puesto que las aplicaciones son muchas veces interactivas y no sabremos si el usuario ha realizado una acción, o dependen de factores variables como la hora, la fecha, la conexión a un servidor, etc., no podemos suponer que la condición se cumplirá una o más veces. Si tenemos alguna parte importante en el código que tenemos que ejecutar por lo menos una vez, no nos será util el while. En dicho caso, podemos utilizar el Do-While para solucionar éste inconveniente.

Samuel Jiménez. Esk.

VN:F [1.9.1_1087]
Rating: 9.8/10 (5 votes cast)

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í:

Leer el artículo completo…

VN:F [1.9.1_1087]
Rating: 10.0/10 (3 votes cast)