Rompiendo se aprende

4 Comments

Rompiendo se aprende

Rompiendo se aprende

El título suena algo caótico, pero sin embargo oculta una verdad.

Muchos cuando son chicos, empiezan a conocer la vida mediante los objetos que tienen más cerca. Muchos  cuentan con juguetes y otros se las ingenian para crear los propios.

Es así como, a medida que pasan los años y vamos adquiriendo nuevas habilidades y nuestro interés por ciertas cosas comienzan a crecer. Uno de esos intereses, puede ser el probar o descubrir como están armadas, o que tiene adentro…etc.

Así sucede cuando aprendemos a utilizar un destornillador y queremos sacamos todo tornillo que encontremos o una pinza o martillo y clavar toda aquella madera que esté suelta. Muchos comienzan y descubren lo que quieren hacer el resto de su vida de esa forma.

More

Tips Rápidos 9 y 10

No Comments

Continuamos con la serie de tips rápdios y estos vienen después de los del otro día.

TIP 9 – Convertir Formato de Fecha

Muchas veces cuando trabajamos con base de datos, como MySQL, si queremos recuperar la fecha directamente desde la tabla estará en formato inglés, es decir: AÑO-MES-DIA. Para mucho no les sirve de esta forma, por lo que hoy vamos a ver como cambiarla a la tradicional:

/**
* @author MAWAPE Sistemas
* @url http://www.mawape.com.ar/blog
*/</pre>
//Recuperamos la fecha, con su formato original
var FECHA:String="2010-02-06"

/*Llamamos la función que realiza la conversión, pasándole como parámetro
la fecha recuperada*/
cambiarFecha(FECHA);

/*Creamos la función que va a realizar el cambio*/
function cambiarFecha(theDate:String):void
{
 var arrDate:Array = theDate.split("-"); //Defino el arreglo
 trace("La fecha cambiada es: "+arrDate[2] + "/" + arrDate[1] + "/" + arrDate[0]);
}

Si nos fijamos, llamamos a la función split y le decimos que parámetro o símbolo usaremos para separar el string y convertir cada parte en un arreglo. En nuestro caso será el separador “-“.

Esta película requiere Flash Player 9

Nota: En el archivo se agregó un botón y un campo de texto, solo para poder visualizarlo.

TIP 10 – Pasar de un Color Hexadecimal a RGB

Este tutorial lo vi en yporqueno y me pareció muy interesante. Solo que para no copiar y pegar lo voy a utilizar mediante un componente, que sirve para modificar las propiedades de los colores, llamado ColorPicker. Primero, luego de crear el documento debemos arrastrar desde el panel de componentes el llamdo ColorPicker. A este componente, le pondremos de nombre de instancia “colores“. Además crearemos 2 campos de textos dinámicos, a uno lo llamaremos “color_HEX” y al otro “color_RGB” Una vez que tengamos todo eso en el escenario, escribimos el siguiente código:

/**
* @author MAWAPE Sistemas
* @url http://www.mawape.com.ar/blog
*/
//Agregamos la libreria para manejar el componente
import fl.events.ColorPickerEvent;

//Creamos los listeners, para utilizar con el componente ColorPicker
colores.addEventListener(ColorPickerEvent.ITEM_ROLL_OVER, overHandler);
//El primero, será el que cambie los valores al pasar sobre los colores.
colores.addEventListener(ColorPickerEvent.CHANGE, changeHandler);
//La segunda, será la que active los campos de textos, al seleccionar un color

function overHandler(event:ColorPickerEvent):void
{
    var numero:uint = event.target.selectedColor;

}

function changeHandler(event:ColorPickerEvent):void
{
    var numero:uint = event.target.selectedColor; //Color Hexadecimal
    var color:String = event.target.hexValue.toString(); //Color RGB
    color_RGB.text ="Color RGB: "+ "#" + color.toUpperCase();
	color_HEX.text="Color Hexadecimal: " + event.target.selectedColor
}

Esta película requiere Flash Player 9

Espero les sirva alguno. Si quieren pueden descargarse los archivos fuentes.

Download

Download

Cursos Gratis Flash/Flex/AIR

12 Comments

Aprendiendo

Pictures by Ann

Como muchos, he tenido que aprender muchas cosas de manera autodidacta, sobre todo lo que tenía que ver con el tema de los productos de Adobe, ya que en mi ciudad, aunque es una de las más grande de Argentina, no tienen mucho conocimiento, o quienes lo tiene no quieren compartirlos.

Por ejemplo, creen que Flash, solo sirve para animar y que es imposible hacer algo más que 4 fotogramas y un tarro de pintura.

Pero eso no me limitó a seguir, y gracias a comunidades como Cristalab, y por supuesto muchos blogs, he podido aprender algo.

Hoy en día, existen muchos cursos y muy buenos, como los de Video2Brain que tiene una amplia cartera de cursos y todos en español. Sin embargo, hay muchisisisismos y GRATIS. Por supuesto, la mayoría en inglés pero algunos y muy buenos en español.

Esta es la lista completa de los que yo conozco y/o recopilé:

Flash:

Flex:

AIR:

Flash Builder (Flex 4):

Flash Catalyst:

Flash Lite:

De Todo:

Espero que alguno de todos estos les sirva. Saludos

Tips Rápidos: 7 y 8

1 Comment

Continuamos con esto que hemos denominado tips rápidos, en donde mostramos algunas pequeños códigos que permiten trabajar con algunos elementos de manera rápida. Hemos realizados los dos primeros como prueba, pero como funcionó muy bien, hicimos 4 más, sin embargo, eso no es suficiente, y luego de un tiempito, hoy le agregamos 2 más, para que les sirva a ustedes.

TIP 7 – UTILIZAR UN TIMER:

Un elemento que se usa mucho, es la posibilidad de controlar el tiempo. Si bien, no solo el tiempo en segundo podemos usar, sino también días y semanas hoy haremos algo simple con la clase Timer.

Lo primero es necesario crear una instancia de la clase Timer, y luego agregarle al objeto 2 parámetros:

El primer, será el tiempo con que queremos se repita la acción (está en milisengundos, por es 1000 ms=1 segundo).
El segundo, es la cantidad de veces que se va a repetir la acción.

El objeto Timer distribuye un objeto TimerEvent cada vez que se alcanza el intervalo especificado, por lo que definiremos a primera instancia la llamada TIMER y creamos una función llamada contador_segundos.
Finalmente le damos inicio a que corra el tiempo con el start(). Finalmente el código queda:
/**
* @author MAWAPE Sistemas
* @url http://www.mawape.com.ar/blog
*/

flash.utils.Timer

/*Definimos la variable del tipo TIMEr y le decimos que cada un segundo
realice algo y lo repita 5 veces.*/
var reloj:Timer = new Timer(1000, 5);

// Designa detectores de los eventos de intervalo
reloj.addEventListener(TimerEvent.TIMER, contador_segundos);

// Iniciamo el tiempo del reloj
reloj.start();

function contador_segundos(event:TimerEvent):void
{
// Muestra el recuento de segundos hasta el momento
// El destino de este evento es la propia instancia de Timer.

trace("Trasncurrieron: " + event.target.currentCount + " segundos.");
}

Esta película requiere Flash Player 9

Pero si lo dejamos ahí, el tip parecería no completo, asi que usaremos otros de los eventos de la clase TIMER, el evento TIMER_COMPLETE, que se ejecuta cuando transcurrió el tiempo y las cantidad de repeticiones que definimos en la variable:

/**
* @author MAWAPE Sistemas
* @url http://www.mawape.com.ar/blog
*/

//Definimos la función a ejecutar al completarse los tiempos determinados
reloj.addEventListener(TimerEvent.TIMER_COMPLETE, tiempo_completo);

function tiempo_completo (event:TimerEvent):void
{
 tiempo.text="Tiempo Completo";
}

Por lo que el tip completo quedaría:

/**
* @author MAWAPE Sistemas
* @url http://www.mawape.com.ar/blog
*/

flash.utils.Timer

/*Definimos la variable del tipo TIMER y le decimos que cada un segundo
realice algo y lo repita 5 veces.*/
var reloj:Timer = new Timer(1000, 5);

// Designa detectores de los eventos de intervalo
reloj.addEventListener(TimerEvent.TIMER, contador_segundos);

//Definimos la función a ejecutar al completarse los tiempos determinados
reloj.addEventListener(TimerEvent.TIMER_COMPLETE, tiempo_completo);

// Iniciamo el tiempo del reloj
reloj.start();

function contador_segundos(event:TimerEvent):void
{
// Muestra el recuento de segundos hasta el momento
// El destino de este evento es la propia instancia de Timer.

trace("Trasncurrieron: " + event.target.currentCount + " segundos.");
}

function tiempo_completo (event:TimerEvent):void
{
 trace("Tiempo Completo");
}

Esta película requiere Flash Player 9

TIP 8 – LLENAR DATAGRID:

Lo primero es arrastrar el componente DataGrid al escenario y darle el nombre de instancia datag.

Luego debemos definir un arreglo que contenga todos los datos que deseamos mostrar, en nuestro caso lo llamamos elementos y le definimo 4 entidades: “Nombre”, “Categoria”, “Nivel”, “Hogar”.

Finalmente,  funcionDataGrid define las propiedades visuales que tiene el datagrid que creamos.

import fl.data.DataProvider;
//Damos inicio a la función y le pasamos como parametros el dataGrid creado.
funcionDataGrid(datag);

//Creamos el arreglo y lo llenamos de datos
var elementos:Array = new Array();
elementos = [
{Nombre:"Wilma Carter", Categoria:"R", Nivel:"So", Hogar: "Redlands, CA"},
{Nombre:"Sue Pennypacker", Categoria:"L", Nivel:"Fr", Hogar: "Athens, GA"},
{Nombre:"Jill Smithfield", Categoria:"R", Nivel:"Sr", Hogar: "Spokane, WA"},
{Nombre:"Shirley Goth", Categoria:"R", Nivel:"Sr", Hogar: "Carson, NV"}
];
/*Definimos un dataProvider, el cual le pasamos como datos el arreglo
creado anteriormente*/
datag.dataProvider = new DataProvider(elementos);
//Preguntamos la cantidad de columnas que hay, para determinar el tamaño despues
datag.rowCount = datag.length;

function funcionDataGrid(dg:DataGrid){
dg.setSize(400, 300); //Determinamos las dimensiones
dg.columns = ["Nombre", "Categoria", "Nivel", "Hogar"]; //damos nombres a las cabeceras

/*Definimos el ancho de cada una de las columnas, como es un arreglo, el
indicie comienza desde 0*/
dg.columns[0].width = 120;
dg.columns[1].width = 50;
dg.columns[2].width = 50;
dg.columns[3].width = 120;

//Definimos donde queremos que se posicione el DataGrid
dg.move(50,50);
};

Esta película requiere Flash Player 9

Como pueden probar, al hacer clic en las cabeceras, estas acomodan las filas alfabeticamente.

Download

Download

Pueden ver los siguientes 2 tips.

Novedades Flash Player 10.1

2 Comments

Imagen: logicclub.com

Hace algún tiempo habíamos visto la salida del beta tanto de AIR 2.0 como del Flash Player 10.1.

En ese momento contamos tadas las posibilidades que iban a tener y además como Adobe esta trabajando para poder integrar estas tecnologías en los teléfonos móviles de todos los fabricantes, incluyendo el iPhone de Apple.

Hace un tiempito Lee Brimelow sacó a relucir un video donde muestra las bondades que esto traerá, mostrando sobre todo lo fácil y divertido que puede ser trabajar con las pantallas de TouchScream para crear aplicaciones Multi-touch.

Video of Flash multi-touch

Video of Flash multi-touch

Como se puede ver, funciona muy bien y de forma muy simple.

Dada la cantidad de desarrolladores que estan probando esta tecnología, Lee, ha creado una lista con las preguntas más frecuentes que le han hecho y las ha contestado de forma muy clara.

Para todos aquellos que quieren arrancar a probar la tecnología y a trabajar con multi-touch, pueden descubrir los tutoriales que Adobe pone a disposición de todos y comenzar a realizar sus propios desarrollos.

Esperemos ver grandes aplicaciones