Loop en AS3. Utilización de For y Array.

Wednesday, 27. January 2010

Loop for en AS3

En el artículo anterior vimos cómo utilizar el loop For para evitar repetir innecesariamente código y acciones en la programación de una aplicación con ActionScript3. Sin embargo, muchas veces podemos potenciar su utilización cuando lo utilizamos en conjunto con un Array, y de esta forma podemos automatizar mucho más la ejecución de nuestra aplicación. En primer lugar trataremos por encima el array y algunas propiedades esenciales, para ver cómo utilizar esta combinación. Después desarrollaremos tres ejemplos de cómo utilizar esta combinación en distintas utilidades.

Array y for

Cuando nos referimos a un Array (también conocido como matriz o arreglo), hablamos de una ‘variable’ que contiene muchos campos en su interior, cada una con un dato diferente. Utilizando un array indexado (que cada campo se identifica con un número desde 0 hasta el ultimo dato) podemos utilizar el loop for para recorrer su contenido (ejemplo 1) o para llenarlo (ejemplo 2), e incluso realizar acciones a cada elemento de una forma muy sencilla o hasta para crear objetos (ejemplo 3). Si a cada elemento nos referimos de la forma nombreArray[0], nombreArray[1], nombreArray[2]… etc., en un loop, utilizando ‘i’ como iterador, podemos referirnos a cada elemento como nombreArray[i]. Desarrollemos el primer ejemplo, muy sencillo para aclarar un poco:


Leer el artículo completo…

VN:F [1.9.1_1087]
Rating: 9.0/10 (20 votes cast)

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.0/10 (16 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)