Jun 30

Para mí, que nunca he sido fan del futbol, la verdad es que me ha sentado muy, muy bien que España ganase hoy mismo la copa de Europa. Justo un día después de llegar de mis vacaciones en Estados Unidos me encuentro con la sorpresa. Hemos podido!!!
Y ya no hablo más de fútbol, que tampoco me preocupa demasiado.

En mi viaje he podido observar varias cosas que imaginaba. Los yankis (véase Nueva York que es lo que he podido ver) tienen un ritmo de vida y de trabajo diferente al nuestro. Hay mucha más competencia en nuestro sector (estamos hablando de nuevas tecnologías lógicamente), salarios más altos, y más nivel en general. Ahora entiendo el porqué del petardo que muchos tienen acoplados a su parte íntima y trasera, y de la rapidez abismal con la que evolucionan las cosas allí. Eso mismo se ve reflejado en muchos blogs, en los eventos y presentaciones que surgen cada vez con más frecuencia. La misma vida en la calles de Nueva York refleja esa manera de hacer las cosas. Todo va muy rápido, nadie se para para pensar. Y no creo que sea lo mejor, simplemente es una opción, pero lo que hace esta gente nos arrastra a todos de alguna manera. A todos los que al otro lado del charco queremos estar al día. Continue reading »

May 27

Doy por hecho que el lector de este artículo quiere deshacerse de Flash para compilar un swf. La herrramienta a utilizar es FlexBuilder. ¿Por qué FlexBuilder si solo vamos a usar ActionScript? (si, este post va sobre un proyecto ActionScript, nada que ver con el framework de Flex). Bueno, es simple, FlexBuilder no es ni de lejos, mejor que Flash Develop o FDT para escribir código, pero tiene debugger, y lo uso como herramienta estándar para proyectos ActionScript y proyectos Flex. Así me centro en una sola en lugar de aprendérmelas todas.
Por otro lado lo que me gusta es que al compilar genera un html y swf con su “Express Install” (por si alguien no tiene la versión de Flash instalada). Bueno, vamos al lío… Continue reading »

May 27

Alucino, según leo en este post, Adobe y Flash Player 10 nos trae mas sorpresas como el nuevo protocolo de comunicación RTMFP que funciona bajo UDP (no TCP), y se muestra como alternativa mejorada al protocolo RTMP (basado en TCP) usado por Flash Media Server. Los dos son propiedad de Adobe, aunque el RTMP lo usan diferentes tecnologías de servidor de terceras partes como por ejemplo Weborb o Wowza Media Server entre otros.

Por otro lado las comunicaciones con Flash Player 10 llevarán integradas el códec de audio de alta calidad SPEEX, con el que según se dice, se podrán realizar aplicaciones de sonido y transmisión de voz mucho más potentes.

Pero bueno, a lo que iba el post..
Parece ser que Adobe implementará en un futuro próximo una red de servidores que implementen estas conexiones y que serán accesibles desde Flash Player 10 mediante los objetos de ActionScript “NetConnection” y “NetStream”.

Digamos que el proceso sería el siguiente:

  1. Un cliente swf (swf 1) establece una conexión con un server de Adobe
  2. El servidor le asigna al cliente una ID única y temporal
  3. Otros clientes pueden subscribirse a los eventos y streams del primero (swf 1), mediante dicha ID mientras la conexión siga abierta

Esa misma ID que se establece en la conexión servirá también como identificador para aplicaciones de chat u otras comunicaciones.

¡Gran noticia!

Ahora mismo con RTMP podemos enviar un stream de sonido o video (micrófono o webcam) a un servidor que lo propague (broadcast) a otros clientes swf. Con la nueva tecnología, se podrá enviar un stream directamente de cliente a cliente sin pasar por el servidor, lo que nos abre un mundo de posibilidades enorme.

Además, el envío de datos mediante “NetConnection.send()” no se limita a streamings, sino a cualquier tipo de datos (eso sí, con sus limitaciones de tamaño). Lo que quiere decir que ya no nos hace falta un servidor para hacer por ejemplo un chat, un juego de comunicación en tiempo real, etc.

La gran pega a todo esto es que si frente a nuestra conexión tenemos un firewall que bloquee el protocolo UDP, no funcionará.

Muchos se están preguntando si se podrá implementar una red P2P (peer to peer) con esta tecnología, pero según argumenta Justin Everett (Product Manager for Flash Player at Adobe), las redes peer to peer se basan en lectura y escritura de datos constante en disco duro, guardando en memoria las diferentes partes de los archivos cuando son necesarias. Con Flash Player 10 se puede cargar un archivo del disco duro al runtime, pero se tiene que hacer manualmente, y de uno en uno, por lo tanto el P2P queda descartado.

Y digo yo, que aunque queden descartados los intercambios masivos de datos, si que podríamos hacer un messenger con envío de archivos, un sistema de video conferencia con archivos compartidos entre los clientes, aplicaciones mejoradas de e-learning, juegos multiusuario que trabajen con imágenes y ficheros de usuarios en tiempo real, etc, etc, etc…, y todo como ya he dicho, sin programación de servidor de por medio.

Esperemos que Adobe ponga pronto a disposición los servidores de comunicaciones para que todo esto sea posible, y que se documente bien el Flash Player 10.

Ahí dejo eso, que cada uno saque sus conclusiones.

May 25

Este es el primer post sobre la tecnología 3D con flash llamada Papervision3D. Ya que estoy empezando con ello, iré posteando referencias sobre las pruebas que haga. Hay muchos tutoriales por ahí con los que empezar, pero creo que otro punto de vista nunca viene mal, y sobretodo si está en español (la mayoría no lo son)

Nota: Este artículo parte de cero en cuanto a que no solo explica el comienzo de un proyecto con papervision, sino también a cómo usar un cliente de subversion para actualizar y/o descargar el uso de código de terceras partes, la configuración de un proyecto en Flex Builder y conceptos básicos con los que empezamos a lidiar cuando damos el salto desde Flash a otro modo de desarrollar ActionScript Continue reading »

May 24

Después de leer varios problemas de gente que ha actualizado su wordpress me daba un poco de miedo, pero al final me decidí y me topé con este enlance http://techie-buzz.com/wordpress-plugins/wordpress-automatic-upgrade-plugin.html , que como su nombre indica, sirve para actualizar todo automáticamente o por pasos muy sencillos (click next, click next…).

Se trata de un plugin que instalas en tu wordpress actual (subiendolo por ftp), que luego activas desde el panel de control. Las instrucciones precisas vienen en el link de más arriba.

Y bueno, todo perfecto sin ningún problema. Por supuesto, aquí no se ve nada reflejado, pero el panel de control está bastante mejorado y con más opciones.

Ya no hay excusa que valga !

May 14

En el que quizás sea recordado por la historia como el día que Adobe le hizo un bonito corte de manga al Silverlight de Microsoft ha sido anunciada por fin la noticia que muchos esperábamos con impaciencia.

Adobe, aliada con la mayor parte de las empresas que generan dispositivos de distribución de datos y entretenimiento portátil y de sobremesa, ha anunciado el Open Screen Project. abriendo así las especificaciones del formato SWF 9 y de los FLV, adicionalmente a eso, elimina las restricciones de licencia sobre el uso de los formatos. Permitiendo legalmente crear un Flash Player de código abierto, entre otras cosas.

Así que no creo que tardemos mucho en ver las consecuencias de una jugada que marcará un antes y un después de los desarrollos en actionscript. A partir de ahora quizás debamos replantearnos los posibles usos de nuestras aplicaciones, así como el entorno que pueda rodear a nuestros usuarios. Seguramente no tardaremos en ver reproductores flash player 9 en el opera de la wii, en la psp, iphone y en dispositivos de todo tipo aportando toda clase de utilidades. Para mí esto no es más que la crónica de una noticia que ya era de esperar, pero su llegada abre unas puertas tan grandes que apenas puedo hacerme una idea de sus más interesantes posibilidades.

Parece que seguimos sin tener mucho tiempo para dormir, ya que han colgado en su web un pdf de 285 páginas con los que parece que estaremos un buen rato entretenidos.

May 14

MUTO a wall-painted animation by BLU from blu on Vimeo

May 10

 

Hola a todos, os dejo un listado de las ultimas api´s en as3 que he encontrado últimamente. Sirven para acceder diréctamente desde ActionScript (bueno, para según qué cosas hace falta código del lado del servidor) a servicios conocidos como YouTube, Facebook, Flickr, etc.
Os recomiendo que descarguéis los archivos (normalmente son repositorios de subversion) y que vayáis probando. Suelen ser bastante sencillos en cuanto a funciones básicas.

Picasa albums:
http://code.google.com/apis/picasaweb/overview.html

Flickr:
http://code.google.com/p/as3flickrlib/

YouTube:
http://code.google.com/p/as3-youtube-data-api/

Facebook:
http://code.google.com/p/facebook-actionscript-api/
http://code.google.com/p/as3facebooklib/

Last FM:
http://code.google.com/p/lastfm-as3/

Y si en esta lista no hay nada que os llame la atención, todavía os queda el buscador de google code!

Apr 18

Acabo de solucionar un problema con texto dinámico que me ha dado más de un día de quebraderos de cabeza en el trabajo.

El caso

Resulta que los contenidos de un frame en concreto (que no sea el 1) de la línea de tiempo (me refiero a cualquier instancia colocada en el escenario), NO están disponibles, o mejor dicho, NO existen nada más llegar al frame.
Por ejemplo:
- Crea una peli nueva
- Pon un movieClip en el frame 5 con nombre de instancia “prueba”
- Ahora vuelve al frame 1 y en panel de acciones escribe este código:

stop();
gotoAndStop(5);
trace(prueba); // null

El resultado del trace nos da “null” !!!!!
Esto no pasaba en as2, y me fastidia que en algunos aspectos as3 va hacia atrás en lugar de mejorar las cosas (y eso que no puedo vivir sin él).

Solución

Para solucionar esto hay que programar un método que busque periódicamente el movieClip “prueba” hasta que ya esté disponible. ¿Cómo?, pues con un Timer por ejemplo:

stop();
gotoAndStop(5);
trace(prueba); // null
 
var timer:Timer = new Timer(10, 0); // se repite cada 10 milisegundos indefinidamente
timer.addEventListener(TimerEvent.TIMER, AccessContent);
timer.start();
 
function AccessContent(event:TimerEvent):void
{
    if(prueba != null)
    {
        Timer(event.target).stop();
        trace("ya tenemos acceso a prueba: ", prueba)
    }
}

Yo personalmente preferiría no tener que hacer esto nunca, ya que me parece una guarrería, pero a veces, por como está montado el proyecto, (o cómo nos lo han dado), o vete a saber qué cosas, pues tenemos que hacer ñapas como estas.
De todas formas, no se si esto es “lógico” o es un bug.

Saludos

Mar 17

A través de uno de los foros de adobe (”macromedia.espana”), veo que uno de sus integrantes hizo un componente en Flash con el que se pueden ver videos de youTube. Mi sorpresa no ha sido pequeña, ya que hace algunos meses me propuse hacer algo parecido para la web de un amigo, y nunca lo conseguí, debido a la limitación que por aquél entonces tenia youTube y su “crossdomain”. Cuando conseguía cargar el video, éste se escalaba de forma inesperada y su posición no se podía controlar (estoy hablando desde Flash lógicamente).

Muchos pensarán que siempre ha sido muy fácil hacer esto, pero no es asi, os lo aseguro. Embeber el player de youTube en una página html es un juego de niños, pero al intentarlo mediante ActionScript, la cosa cambiaba.

Enseguida busqué en el blog de youTube, cuando me encontré con esto:
http://code.google.com/apis/youtube/overview.html

Donde podréis encontrar toda la documentación y API´s para desarrollar clientes de youTube en varios lenguajes como PHP, Flash, .NET, Rubi, Java, etc. En este link hay un listado de recursos muy interesante, y más concretamente, la as3-youtube-data-api, que es lo primero que busqué al empezar a ver todo este tema.

imagen-1.png

Las API´s no se limitan a la visualización de vídeos. Con ellas podemos acceder a una lista larga de webservices muy interesantes:

Introduction

This library connects to the http://gdata.youtube.com host to collect publicly available information on the YouTube Data API Feeds. You can search for videos, and get data for: standard video feeds, video responses, video comments, user profiles, user subscriptions, user favorites, and playlists.

Y genial, ahora podemos hacernos nuestra propia platarforma de video a costa de YouTube, y sin publicidad de ningún tipo y, desde un montón de lenguajes distintos. Ya nadie tiene escusa =)

Posibilidades infinitas. Creo que esto va a dar mucho de qué hablar, y creo que muchas empresas del sector de hosting de streaming se verán muy afectadas, y otros muchos beneficiados (como es mi caso ).

Mar 05

Acabo de encontrar un listado de las nuevas características que incluirá ActionScript 4 en relación con la versión 3. Las mejoras son muchas, y veo que esto cada vez es mas serio. Hay bastante similitud con C#, lo cuál creo que es muy positivo.

ActionScript está basado en ECMAScript y la nueva versión llevará integradas varias de las mejores propuestas para ECMAScript 4.

Por mi parte, me alegro mucho del camino que está tomando mi queridísimo (ciertas veces odiado) ActionScript, y estoy seguro de que algún día se podrá comparar (tal vez igualar) a la potencia de lenguajes más sólidos como C# o Java.

Enlace (Colin Moock)

Mar 05

Estaba por ahí navegando cuando me encontré este manual, por cierto muy bien explicado y todo muy clarito. Ojalá lo hubiera encontrado antes!!!!

Muy acertado para los que se quieran iniciar con Eclipse y el plugin FDT para ActionScript, tanto AS2, como AS3. Explica como compilar con Flash CS3, mtask y Flex SDK.

También explica la instalación y uso de algunos plugins de Eclipse muy utilizados como el plugin de Subversion (SVN)

Mar 04

Estoy metido en un proyecto donde los “artes” han dictaminado que nuestra aplicación Flash (un juego) irá a 12 FPS(frames por segundo). Los motivos no vienen al caso.

Resulta que yo siempre he testado a 31 FPS, por lo que mis animaciones con Tweening (Tweener de Caurina) iban de lujo. Cuando puse el swf a 12 FPS menuda cagadilla, todo a saltos y horrible. Y claro, es que la mayoría de las librerias de Tweening usan el evento ENTER_FRAME para renderizar el movimiento, por lo tanto, a menor tasa de frames por segundo, menos fluidas serán nuestras animaciones, al igual que ocurre con animaciones en timeline.

Buscando por ahí encontré este paquete de animaciones que permite elegir el modo de renderizado entre ENTER_FRAME y un TIMER, además de otra serie de características que me han gustado bastante. Problema del framerate arreglado ! Incluso a 1 FPS la animación rula bién.

Felicitación y gracias al máquina que las hizo (boostworthy.com).
Os animo que que os bajeis el paquete, que viene con documentación, y que la probéis. No tiene desperdicio.

Feb 25

Tanto si usamos Flash CS3 para desarrollar un proyecto de AS3, como si usamos FDT, FLEX y otros, podemos usar e instanciar mediante código los componentes de la versión 3 (v3).

El primer problema que encontramos es que el compilador no encuentra la clase asociada al componente, lo que provocará un error en tiempo de compilación avisando que no se ha encontrado la definición de clase.

En el caso de de Flash CS3, La solución es tan sencilla como añadir a la librería (no hace falta que esté en el escenario) el componente/s que vayamos a usar.

Si no compilamos con CS3, la solución es crear un archivo .swc (desde Flash CS3) donde esté almacenado el componente/s. Automáticamente el archivo generado contendrá todas las clases necesarias y sus dependencias relacionadas con el componente, así como sus assets, que luego linkaremos desde nuestro IDE, momento en el que ya estará todo listo para instanciar como hacemos con cualquier otra clase.

Si todavía no ha quedado claro el asunto, aquí va un vídeo que lo explica

Feb 22

Creo que la combinación de Eclipse mas el plugin FDT es una de las mejores opciones para editar nuestros proyectos de ActionScript 3. Si a esto le sumamos el compilador de Flex, nos encontramos con una situación similar a cuando se compilaba AS2 con Mtask. Es decir, nos deshacemos totalmente del Flash IDE, y en este caso, de Flash CS3, algo muy cómodo ( eso sí, según se mire ) para desarrollar aplicaciones, webs, y cualquier cosa orientada a objetos.

Con este post animo a todos los que no lo han hecho, a dar el salto a Eclipse. Supongo que a muchos les costará aceptar la idea de “hacer flash sin flash”. Aunque esto no es del todo cierto. Yo normalmente uso Flash para crear los gráficos y assets de la aplicación, y luego los exporto exporto a swf o swc, para posteriormente cargarlos desde código. Creo que es una manera mucho más ordenada de hacer las cosas, y que facilita la relación entre programador-diseñador. Digamos que el diseñador no tendrá que preocuparse por la arquitectura de la aplicación, ya que su función se limitaría a la creación de “assets” gráficos independientes.

Este vídeo tutorial explica la manera de instalar el plugin en Eclipse y los primeros pasos para compilar nuestro swf directamente sin necesidad de Flash.

Si no dispones del software aquí van los links de descarga:

- Descargar última versión de Eclipse

- Descargar Flex SDK

- FDT (instalación desde Eclipse)

Video tutorial para instalar Eclipse - FDT y compilar con Flex SDK
=)