Archivo de la categoría ‘Flash’

Vuelta del Subflash 09

Publicado por Iván Gajate el 31 de Agosto de 2009 en AS2, AS3, Diseño, Eventos, Flash | 8 comentarios »

Recién llegado del Subflash 2009 en Alicante, como el año pasado.

Ya contaré mañana más detalles sobre las charlas, pero ahora quería resumir lo bien que me lo he pasado con todos. Ha sido fantástico encontrarse otra vez con 50 Flasheros/Flexeros/Diseñadores durante dos días compartiendo experiencias.

Además, este año he compartido coche y charla con Javi y Luis de ida y de vuelta y ha sido un viaje súper productivo, casi tanto con las charlas del fin de semana :)

Hemos avanzado ideas sobre nuestros proyectos, dudas sobre como trabajamos cada uno, inquietudes sobre la situación actual de Flash/ActionScript…

Las ganas de hacer cosas de Luis es admirable, y estamos planteando hacer un Domingo en la Mañana aquí en Madrid.

Aún no hemos concretado fecha ni lugar, pero apoyo totalmente la idea, y visto que diez horas de viaje se nos han quedado cortas, seguro que tema de conversación tenemos para un par de domingos por lo menos ;)

En fin, que una gozada de fin de semana, y con un montón de ideas en la cabeza para investigar…

PD: Aquí un momento de esparcimiento :D

cervezas-subflash-09

Revista Flash&Flex online

Publicado por Iván Gajate el 27 de Agosto de 2009 en Desarrollo Web, Flash, Sitios Destacados | No hay comentarios »

Pues si, una revista dedicada exclusivamente al mundo de Flash y de Flex, así que si estás leyendo este blog, seguro que te interesa :)

http://ffdmag.com/

Es una revista muy muy completa y de un nivel medio/alto, con muy buenos artículos con código para picar y las últimas tendencias en aplicaciones, APIs y software relacionado con Flash, Flex y ActionScript.

Lo mejor es que ahora es descargable en versión pdf, por lo que aquí dejo el enlace directo. Hay que meter tu mail pero nada más, ni siquiera requiere confirmación.

http://ffdmag.com/prt/view/pdf-articles.html

Una lectura más que recomendable.

Y ahora, a preparar la maleta, que mañana me voy al Subflash :)

Skew MovieClip

Publicado por Iván Gajate el 15 de Agosto de 2009 en AS2, AS3, Flash, Tutoriales | No hay comentarios »

He re-encontrado este fantástico tutorial en Senócular sobre la clase Matrix. Es de AS2 pero sigue siendo exactamente igual en AS3.

http://www.senocular.com/flash/tutorials/transformmatrix/

Yo siempre me lio cuando quiero sesgar (skew) un clip de película, así que he escrito unas funciones muy simples para hacerlo más fácil:

t_single_skew

import flash.geom.Matrix;

function setSkewX(mc:MovieClip, skewx:Number):void{
	var my_matrix = mc.transform.matrix;
	my_matrix.c = skewx;
	mc.transform.matrix = my_matrix;
}

function setSkewY(mc:MovieClip, skewy:Number):void{
	var my_matrix = mc.transform.matrix;
	my_matrix.b = skewy;
	mc.transform.matrix = my_matrix;
}

function getSkewX(mc:MovieClip):Number{
	return mc.transform.matrix.c;
}

function getSkewY(mc:MovieClip):Number{
	return mc.transform.matrix.b;
}

htmlText y CSS

Publicado por Iván Gajate el 6 de Agosto de 2009 en AS2, AS3, Flash, Tutoriales | 6 comentarios »

Cada vez le estoy cogiendo mas el gusto a esto de usar un texto con formato html en Flash. Ya vimos como se hacía, y yo no lo usaba demasiado porque había que crear la fuente el la biblioteca, y meter mas líneas de código, pero hoy en el curro me ha ahorrado mucho tiempo y veo que al final no son tantas líneas.

Yo antes para hacer algo como esto

htmltext1

donde sabía que eran cuatro títulos cortos, cada uno con un color, distintos tamaños y cuerpos y ya. Pues no me liaba, metía cuatro campos de texto con cuatro nombres y los seteaba de base de datos.

Pero como ya decía Ale Muñoz en Sofá Naranja, "Cualquier elemento de diseño puede existir cero, una o infinitas veces".

Lo que se traduce en mi diseño en que ya no son cuatro noticias, son infinitas, con un paginado muy mono debajo, unas banderitas a la izquierda de cada título y que si un título es muy largo fluya hacia abajo :(
Ha llegado el momento de dejarse de vaguerías y hacerlo bien: htmlText y CSS.

Leer el resto de esta entrada

Poner Puntos de Millar en un Número

Publicado por Iván Gajate el 29 de Julio de 2009 en AS2, AS3, Flash | 1 comentario »

Hoy me han pedido una función para dar formato a un número poniéndole los puntos de millar. Muy útil cuando se quiere poner precios que vienen de base de datos. Aquí va la función:

function puntoDeMillar(num:Number, separador:String=".", separadorDecimal:String=","):String {
	// Separo la parte entera de la decimal
	var entera:String = String(Math.floor(num));
	var decimal:String = "";
	var partes:Array = String(num).split(".");
	if (partes.length > 1) {
		decimal = separadorDecimal + partes[1];
	}
	var cadena:String = "";
	// Calculo el numero de bloques de tres digitos que tengo que hacer
	var bloques:Number = Math.floor(entera.length/3);
	if (bloques<1) {
		return entera;
	}
	// Pongo un separador (.) entre cada bloque
	for (var i = 0; i<bloques; i++) {
		cadena = entera.substr(-3*(i+1), 3)+cadena;
		if (i<bloques-1) {
			cadena = separador+cadena;
		}
	}
	// Pongo los primeros digitos a la izquierda del primer punto
	if (entera.length%3>0) {
		cadena = entera.substr(0, entera.length%3)+separador+cadena;
	}
	return cadena + decimal;
}

Para utilizarla

trace(puntoDeMillar(12345678.12));  // Devuelve 12.345.678,12


Por defecto pone un punto cada tres dígitos empezando por la derecha (respeta los decimales). Se puede pasar un segundo parámetro con el separador de miles que se quiera, y un tercero con el separador de decimales, ambos Strings. Sirve tanto para AS2 como AS3.

Crear Dinámicamente Instancias de Clase en AS3

Publicado por Iván Gajate el 7 de Junio de 2009 en AS3, Flash | 3 comentarios »

Normalmente creamos una instancia de una clase con un simple

var cuadrado:Cuadrado = new Cuadrado();

Y eso está muy bien cuando conocemos el tipo de objeto que queremos crear, en este caso un Cuadrado.

Pero cuando no lo conocemos porque es variable, por ejemplo porque depende de una elección del usuario, tenemos que hacerlo así:

import flash.utils.getDefinitionByName;

var nombreClase:String = "es.yporqueno.Cuadrado";
var miClase:Class = Class(getDefinitionByName(nombreClase));
var instancia:* = new miClase();

addChild(instancia);

 

Leer el resto de esta entrada

Patrón Value Object

Publicado por Iván Gajate el 17 de Mayo de 2009 en AS3, Flash, Patrones de diseño, Tutoriales | No hay comentarios »

Este mini patrón de diseño, consiste simplemente en agrupar varios valores dentro de un objeto para enviarlo y recibirlo con mayor comodidad/seguridad.

Yo casi más que un patrón lo considero una buena costumbre de programación, y es que cuando tengo que pasarle a una función mas de 4 ó 5 parámetros, los meto todos en un objeto y hago que esta función sólo espere ese objeto como único parámetro.

// Sin Value Object
public function guardarDatos(nombre:String, apellidos:String, edad:uint, hombre:Boolean):void{
	//
}

// Con Value Object
public function guardarDatos(datos:Object):void{
	//
}

Esto, aparte de hacer el código más legible, hace nuestro programa escalable, pues si en un futuro queremos añadir un nuevo parámetro a la función, no tengo que cambiar su firma (public function guardarDatos(datos:Object):void), sino que le añado una nueva propiedad al objeto y listo, mi función sigue esperando un sólo parámetro.

Leer el resto de esta entrada

Namespaces en las Propiedades de Vinculación

Publicado por Iván Gajate el 6 de Mayo de 2009 en AS3, Flash, Tutoriales | No hay comentarios »

El otro día me di cuenta, casi por casualidad, de un detalle interesante a la hora de vincular los clips de película de la biblioteca.

Estaba yo con un proyecto que consistía en una home que carga secciones diferentes, y cada una era un proyecto de Flex (Eclipse + Flex, proyecto ActionScript).

Yo tengo la costumbre de crear un clip Escenario donde meto todas las cosas de diseño que apenas requieren de programación: los logos, fondos, animaciones iniciales… y así es mas fácil posicionarlas al pixel. Luego no tengo más que hacer un new Escenario() y ya lo tengo todo colocadito en el pixel exacto.

propiedades-de-vinculacion-1

 

Leer el resto de esta entrada

AS3 - Precargar la película principal

Publicado por Iván Gajate el 14 de Abril de 2009 en AS3, Flash, Tutoriales | 3 comentarios »

UPDATED: He mejorado un poco la precarga, se puede ver aquí.

Hay varias formas de hacer precargas en AS3, pero la solución más sencilla es precargar nuestra peli principal desde otro swf que haga todo el trabajo sucio.

El método consiste en una peli ligera ‘precargador.swf’ que es la que se embebe en el html, y se le pasa como parámetro la peli que queremos cargar. Cuando se termine la carga, el precargador añade la peli principal al escenario y ésta funciona como si se hubiese cargado directamente en el html.

Así podemos trabajar en nuestra película principal sin preocuparnos de su precarga y sin cambiar nuestra rutina de trabajo, y cuando queramos verla online, tan solo hay que poner el precargador de 8 KB al lado :)
Leer el resto de esta entrada

AS3 - Calcular el Valor Mínimo de un Array Numérico

Publicado por Iván Gajate el 8 de Abril de 2009 en AS3, Flash, Tutoriales | 2 comentarios »

La compañera lógica de max es min ;)

// Devuelve el valor minimo de un array numerico
function min(array:Array):Number{
	var minVal:Number = array[0];
	for each(var item:Number in array){
		minVal = (item<minVal) ? item : minVal;
	}
	return minVal;
}

var miArray:Array = [10, 4, 35, -76, 2];
trace(min(miArray));  // Devuelve -76