miércoles, 19 de agosto de 2009

punypng: Compresor de PNGs

Esta es una herramienta realmente muy eficiente en cuanto a la compresión de archivos PNG.

Anteriormente usaba smush.it, pero he probado recientemente punypng y la verdad es que los resultados son superiores.

domingo, 16 de agosto de 2009

Incluir fuentes en un proyecto Flex

Esta es una de esas tareas que suenan sencillas pero que tienen sus vueltas: ¿cómo incluir una fuente en un proyecto Flex?

Lo primero que debe hacerse es declarar una variable en la clase principal de proyecto. La variable es usada solamente con el fin de que el compilador vincule a la fuente. Veamos el código:


[Embed(source="C:\\Windows\\Fonts\\framd.ttf", fontFamily="Franklin Gothic Medium Normal", mimeType="application/x-font")]
private var fontFranklin:String;

Lo siguiente es definir un TextFormat y aplicarlo al campo de texto sobre el cual queremos aplicar la fuente.

En este caso se creó un campo de texto de nombre "txt" al cual se le aplicó el TextFormat:


//Creamos el TextFormat
var myFormat:TextFormat = new TextFormat("Franklin Gothic Medium Normal", 12, 0x000000);

//Creamos el campo de texto
var txt : TextField     = new TextField();
txt.text                = "Hola mundo!";
txt.embedFonts          = true;
txt.setTextFormat(myFormat);

//Agregamos el campo de texto al documento
addChild(txt);

Listo! Si compilamos el proyecto deberíamos ver el campo de texto suavizado con la fuente incluida.

Para mayor información puede consultarse el artículo Using embedded fonts en el sitio de Adobe

miércoles, 12 de agosto de 2009

Obtener la clase de un objeto en Actionscript 3

Este es uno de esos tips que siempre vienen bien tener a mano (visto en el sitio de Dave Keen)
Una forma rápida y útil de obtener la clase de un objeto en actionscript es la siguiente:

static function getClass(obj : Object) : Class {
  return Class(getDefinitionByName (getQualifiedClassName(obj)));
}

Esto es muy útil por ejemplo para comparar los tipos de dos objetos:

if (firstObject is getClass(secondObject)) {
    trace("Ambos objetos son del mismo tipo!");
}

Para obtener la clase padre de la clase de un objeto puede usarse:

static function getSuperClass(o : Object) : Object {
  var n: String = getQualifiedSuperclassName(o);
  if(n == null) {
    return(null);
  }
  return(getDefinitionByName(n));
}