« Marzo 2004 | Inicio | Mayo 2004 »

Abril 30, 2004

Seguimos con los botones

Hace un par de semanasposteÈ sobre los problemas que est·bamos teniendo con unos botones.

Aunque hubo comentarios con soluciones bastante interesantes, nos vimos obligados a seguir adelante con nuestra "soluciÛn" por falta de tiempo para hacer otra cosa.

Pero, finalmente, nos hemos visto obligados a cambiar algunos de los botones, para poderlos "calzar" en unos di·logos modales que estamos construyendo.

AsÌ que ahora tenemos un movieclip con tres frames, con etiquetas "normal", "over", y "click", y un textfield con nombre de instancia "literal". Queremos asignar el contenido del literal del botÛn, su formato, y el handler para el onRelease, pero tenemos que poder hacerlo en momentos distintos de la ejecuciÛn del programa. Cuando la aplicaciÛn se inicializa, asignamos texto y formato, y el handler depender· del flujo de ejecuciÛn del programa

Este es el resultado:

class net.designnation.UI.buttonHandler { public static function setBTHandlers( buttonInstance: MovieClip, texto: String ) { buttonInstance[ "textoParam" ] = texto; buttonInstance[ "literal" ].text = texto; buttonInstance.onRollOver = function( ) { this.gotoAndStop( "over" ); var theInstance: String = ""; this[ "literal" ].text = this[ "textoParam" ]; }; buttonInstance.onRollOut = function( texto ) { this.gotoAndStop( "normal" ); this[ "literal" ].text = this[ "textoParam" ]; }; buttonInstance.onPress = function( texto ) { this.gotoAndStop( "click" ); this[ "literal" ].text = this[ "textoParam" ]; }; } public static function setNewTextFormat( buttonInstance: MovieClip, format: TextFormat ) { buttonInstance.literal.setNewTextFormat( format ); } public static function setTextFormat( buttonInstance: MovieClip, format: TextFormat ) { buttonInstance.literal.setTextFormat( format ); } public static function setOnRelease( buttonInstance: MovieClip, value: Function ) { buttonInstance._onRelease = value; buttonInstance.onRelease = function () { this._onRelease( ); this.gotoAndStop( "normal" ); } } }

°Buen fin de semana!

Abril 22, 2004

SonarFiles

Del 5 de mayo al 6 de junio en la Sala de Exposiciones Temporales de la FundaciÛn TelefÛnica ( C/ Fuencarral, Madrid ) tendr· lugar esta exposiciÛn cuya premiere pudo verse el aÒo pasado en Barcelona ( es una pena, pero eso sÛlo lo sÈ porque me lo han contado ). Al parecer los contenidos de la exposiciÛn est·n divididos en tres grandes grupos: CreaciÛn Audiovisual, Arte Digital y M˙sica Avanzada.

M·s informaciÛn aquÌ

Sonar siempre ha sido algo m·s que un "festival". De hecho, antes de que los festivales fueran algo com˙n para todos, Sonar ya existÌa. Y a˙n mucho antes de eso, ya existÌa una red de distribuciÛn m·s que underground de ciertos tipos de m˙sica ( sobre todo electrÛnica ), que para algunos de nosotros siempre fue algo m·s que m˙sica.

Si vivÌas en alguna ciudad ( ejem ) de provincias, como era mi caso, el Sonar siempre ir· unido a otras muchas cosas ( los catÛlogos de venta de discos por correo, el cartero que te traÌa los paquetes, la desesperaciÛn porque tal o cual disco ya estaba agotado,..... ).

Ahora que toda la m˙sica del mundo est· al alcance de nuestra mano, ver el cartel de esta exposiciÛn me ha hecho recordar cÛmo eran las cosas ( en cuanto a m˙sica se refiere ) hace diez o quince aÒos. Al menos en este caso, ning˙n tiempo pasado fue mejor. Probablemente m·s "heroico", pero no mejor.

Abril 19, 2004

Blogginí nation: Una aplicaciÛn para Central

Esta es la primera beta de Bloginí nation, una aplicaciÛn para Central que permite hacer posts en tu Movible Type. Utiliza la API xmlrpc de Movable Type.



















La aplicaciÛn ha sido escrita en AS2, y publicaremos el cÛdigo fuente en cuanto arreglemos los bugs que aparezcan, ya aÒadamos un par de funcionalidades.

Hemos estado trabajando en esta aplicaciÛn en nuestros ratos libres, ya ahora que empezamos a ver el resultado final cerca, publicamos esta ìbetaî para que la probÈis y nos contÈis vuestra opiniÛn, los bugs que encontrÈis, problemas de usabilidad, funcionalidades que os gustarÌa ver, etc.

Por ahora, la aplicaciÛn sÛlo sirve para publicar nuevos posts, y no para editar los ya publicados, pero la funcionalidad est· desarrollada aunque todavÌa no est· disponible. Adem·s, a dÌa de hoy, la aplicaciÛn sÛlo est· disponible en inglÈs.


Bugs y problemas conocidos:

- No sÈ si se debe a un problema con nuestro cÛdigo o con el xmlrpc de Movible Type, pero lo cierto es que los caracteres especiales ( È, Ì, Û, etc ) no se muestran correctamente. Le hemos estado dando vueltas mucho tiempo, pero no hemos encontrado la soluciÛn, asÌ que cualquier sugerencia es m·s que bienvenida.
- No se chequea la conexiÛn, se asume que la conexiÛn existe.
- No se gestionan las tabulaciones, por lo que no se puede pasar de un campo de texto a otro tabulando.
- Hay una falta generalizada de feedback visual.

ø QuÈ va a haber en la prÛxima versiÛn?

- Soporte multi-idioma. Los textos de la aplicaciÛn se guardar·n en ficheros XML externos.
- EdiciÛn de posts. Est· casi terminado.

Obiamente, hay aplicaciones mil veces mejores ( como Zempt ), pero este proyecto naciÛ como una especie de reto personal para ver hasta dÛnde Èramos capaces de llegar desarrollando una aplicaciÛn para Central. Bueno, pues Èste es el resultado.

Queremos agradecer especialmente a Celia Carracedo su colaboraciÛn plasmada en forma de logo.

Arte en Internet, necesito ayuda

Saludos,
el prÛximo dÌa 24 tengo que dar una conferencia sobre arte en internet a un grupo de artistas de Vitoria-Gasteiz. Algunos realizan sus obras con ordenador, otros no han tocado un ordenador nunca ( escritores, pintores, escultores ) entonces,tengo material, pero como la conferencia es de 6 horas ( sÌ 6 horas, aunque haga cuatro descansos de media hora todavÌa me quedan 4 horas hablando si es que lo resito ) agradecerÌa que me indic·seis links a sitios de arte y/o relaccionados con el arte. Pueden ser cosas tipo www.web-side.org, o cosas menos elaboradas. Por ejemplo, mi fotÛgrafo favorito, Sebastiao Salgado tiene una web que no es nada espectacular ( ver web ) pero las fotografÌas son fabulosas. Es decir, para mostrar su trabajo, no necesita un "contenedor" espectacular. ASÌ podrÌamos analizar diferentes sitios de diferentes artistas, etc.. tambiÈn si conocÈis sitios de artistas, de portales de arte, de teorÌas del diseÒo o del arte etc...
Espero vuestra ayuda :D Un saludo

Abril 13, 2004

Las rarezas de los botones

HacÌa aproximadamente un par de aÒos que no tenÌa que vÈrmelas con un botÛn, pero ayer en el curro recibimos una avalancha de elementos gr·ficos de un freelance, entre otros una tacada de botones.

Esos botones deben presentar un texto din·mico, y contienen dos campos de texto distintos. Uno para el estado normal, y otro para el rollover. AsÌ que all· que me lancÈ

class net.designnation.UI.buttonHandler { public static function setHandlers( instanceName: MovieClip, text: String ) { instanceName[ "theText" ] = text; instanceName.onRollOver = function( ) { this.tf.text = this[ "theText" ]; } instanceName.onRollOut = function( ) { this.tf.text = this[ "theText" ]; } } }

No funcionÛ. AsÌ que intentÈ tracear el contenido del botÛn:

class net.designnation.UI.buttonHandler { public static function setHandlers( instanceName: MovieClip, text: String ) { instanceName[ "theText" ] = text; instanceName.onRollOver = function( ) { for ( var k in this ) { trace( k ); } this.tf.text = this[ "theText" ]; } instanceName.onRollOut = function( ) { this.tf.text = this[ "theText" ]; } } }

Y aquÌ llegÛ la sorpresa. En el primer rollover la traza fue:

tabIndex
getDepth
enabled
useHandCursor
instance2

Pero en el rollout, instance2 cambiÛ a instance3. Y en el siguiente rollover a instance4, y en el rollout instance5, y asÌ sucesivamente.La primera vez que veÌa algo parecido, aunque supongo que para muchos de vosotros no ser· ninguna novedad. øLa soluciÛn?: pues nada elegante, ya que se basa precisamente en ese comportamiento tan extraÒo:

class net.designnation.UI.buttonHandler { public static function setHandlers( instanceName: MovieClip, text: String ) { instanceName[ "theText" ] = text; instanceName.onRollOver = function( ) { for ( var k in this ) { if ( k.substring( 0,8 )== "instance" && k.text != undefined ) { this[ k ].text = this[ "theText" ]; } } } instanceName.onRollOut = function( ) { for ( var k in this ) { if ( k.substring( 0,8 )== "instance" && k.text != undefined ) { this[ k ].text = this[ "theText" ]; } } } } }

øDurante cu·nto tiempo funcionar·? Pues no lo sÈ, la verdad.

Una razÛn m·s para no volver a utilizar botones, y hacerlo todo con movieclips

Abril 11, 2004

Mis primeros dos meses

Bueno,
como comentÈ hace dos meses y pico, empezaba a currar en un sitio nuevo , lo que conllevaba traslado de ciudad y todo lo que eso acarrea.
De momento lo que puedo decir es que hasta ahora todo est· muy bien. La ciudad ( Vitoria-Gasteiz ) me gusta bastante, sÛlo dos meses pero no echo de menos Valladolid para nada. Y en cuanto al trabajo muy bien, estoy realizando varios proyectos que involucran PHP, MySQL, XML, ActionScript, Flash Communication Server y mucho trabajo de animaciÛn en Flash, especialemte en los juegos que estamos realizando.
Tanto el PHP como el ActionScript se programa completamente orientado a objetos, en las webs ( XHTML ) los layouts se hacen con CSS, separando contenido de presentaciÛn. En general muy bien, estoy mejorando mi programaciÛn, estoy aprendiendo mucho de los animadores y diseÒadores y estoy trabajando en algo que me gusta ( Juegos!!!! ). La ˙nica pega, es que no tengo internet en casa y en el trabajo apenas tengo tiempo para mirar el fullasagoog y poco m·s por lo que ni posteo nada ni puedo mirar con detenimiento tutoriales o noticias interesantes que aparecen todos los dÌas. Pero bueno. ConclusiÛn: de momento estoy bastante contento.
Agur

Abril 07, 2004

Fix para el "Flash Resource Manager"

Mike Chambers publicÛ esta maÒana en su blog esta aplicaciÛn. El caso es que al instalarla y ejecutarla en mi sistema ( windowsXP y 2000 en espaÒol ), obtenÌa un error como Èste:

------------------------------------------------
07/04/2004 10:51:17 : Error parsing help file.
C:\Documents and Settings\ctarda\ConfiguraciÛn local\Datos de programa\Macromedia\Flash MX 2004\es\Configuration\HelpPanel\Help\ActionScriptDictionary\help_toc.xml
There is an invalid character in the given encoding. Line 3, position 26.

Repetido varias veces y con varios archivos distintos. Tras varios e-mails de ida y vuelta con Mike Chambers, finalmente hemos encontrado la soluciÛn.

1.- En primer lugar hay que editar el archivo de configuraciÛn ( app.config ) que se encuentra en la carpeta /config. Hay que cambiar el contenido del nodo "Language" para que contenga la cadena "es" ( sin comillas )

2.- Hay que coger uno por uno todos los archivos que aparecen en el mensaje de error ( tambiÈn se puede ver en el fichero /logs/error.log ), abrirlos con un editor de texto, y guardarlos con formato utf-8.

Y ya est·. Toda la ayuda de Flash, el MXNA, Fullasagoog, ayuda de Central, de componentes, ........ TODO en una ˙nica aplicaciÛn de escritorio.

A disfrutarlo!

Abril 06, 2004

Tabla hash V2

Hace m·s o menos un mes, publiquÈ una implementaciÛn de una tabla hash. El caso es que ayer encontrÈ un pequeÒo bug a la hora de borrar elementos, y ya que estaba, he hecho un par de mejoras.

Podeis encontrar el post original aquÌ

Y podeis bajaros el cÛdigo actualizado aquÌ

Felices vacaciones ( a los que las tengan, claro )