Agosto mes de la aventura: FITC San Francisco. Flash y Flex.


Gracias Open Plug, por fin tengo la excusa perfecta, para saltar el charco, y hacer mi primera visita oficial a USA.

No podía ser de otra forma, que a una convención/seminario de Flash y Flex, con varias de las figuras mas importantes a nivel mundial.

En un principio, me parecía mear demasiado alto, y sobre todo, el no estar al nivel de ingles que me gustaria, pues me tenía bastante acojonado en un principio, pero pensándolo bien, el hecho de que lo que se va a hablar es de AS3 y Flex, creo que solventa el miedo en gran medida.

Asi que nada, en breve, habrá sobrecarga de nuevos contenidos, que estoy seguro que nos vendrán de perlas ;-) .

Jose Ramon Leon Somovilla

Open Plug: Desarrollo Apps para iPhone, Android, Symbian (Nokia) y Windows Mobile, con Flash…., pero Flexeando ;-).


El resumen de este Post es sencillo:

SI! se puede hacer Apps con Flash!, solo que usando Flex ;-) .

Mucho antes de que saliera a la calle el nonato Flash CS5, y su opción de compilar directamente para iPhone, ya era posible hacer esto, gracias a Open Plug. Este paquete se comporta como un Plug-in nativo para para Flex Builder 3, y Flash Builder 4, añadiendo un pequeño menú, donde nos permitirá exportar nuestros proyectos de Flex, para todos los sistemas operativos importantes de Móviles del mercado:

iPhone, Android, Symbian (Nokia) y Windows Mobile

He probrado el Plug-In, sobre ambas plataformas, y así como con Flex Builder 3, no he tenido nunca problemas…, con Flash Builder 4, si que en el caso de tratar de usar un proyecto ya creado con anterioridad, me ha dado algún problemilla a la hora de encontrar las liberías que incorpora Open Plug a nuestro proyecto, para hacer la compilación. La solución es tan sencilla, como borrar la cache del proyecto, y luego volver a ejecutar.

De todas formas, el equipo de Open Plug, esta en constante proceso de evolución con nuevas actualizaciones solucionando bugs, y añadiendo nuevas funcionalidades al paquete, asi que estando al día, todo un lujazo, que con darle a un botoncito, podamos hacer que nuestra aplicación pase a estar disponible para las principales plataformas móviles del mercado.

En cuanto a la parte práctica…, pues en 15 días espero quedarme tranquilo de todas mis historias…, y empezar con mi primer App, para iPhone, como no ;-) . Será para unos buenos amigos, que quieren hacer llegar todos los videos de su portal, a sus usuarios y al mundo en general.., claro que entonces, estoy seguro que me preguntaré, por que hacerla solo para iPhone, se la puedo hacer también para el resto de Plataformas? ;-) .

De seguido ya tocará rizar el rizo, con una aplicación para iPad…, con la tranquilidad, de que estoy casi seguro que Open Plug, dará otra vuelta mas de tuerca, y también podramos compilar para iPad.

En resumen, que ganas tengo de empezar ya a sacar las Apps del horno, para llamar a mas de un ex-jefe mío, que me decían que Flash no tenía futuro…

Gracias equipo Open Plug! ;-) .

José Ramón León Somovilla

[Flash Builder 4] Error Java Heap Space


Este simple error, ha acabado mareándome de una forma increible. Me lo ha dado con una aplicación AIR, y la gracia del asunto, es que según te aparece, se acabaron las compilaciones.

El proyecto con el que se me ha presentado, es uno con muchos assets gráficos, de audio, video, e imágenes, y lo he testado tanto desde Mac como desde Windows. Del porque se da…, la conclusión a la que he llegado, es que cuando un proyecto pasa de la memoria base del propio FB4, nos muestra este error, para decirnos que no tiene memoria suficiente para compilar el grueso del proyecto.

La solución al problema, cuesta encontrarla, aunque nos es complicado aplicarla. Se trata de ampliar los parámetros de cache del FB4, y seguir trabajando fino, para que no se nos vaya de madre, el peso de nuestro proyecto ;-) .

Para solventarlo tenemos que acceder al fichero .ini del Flash Builder 4.

Windows

Post base Información: http://forums.adobe.com/thread/629986?tstart=0

Hay dos casos:

a) Flash Builder 4 IDE (Eclipse+Equinox)
b) Run/Debug

Soluciones:

Caso (a)

  • Ir al directorio de instalación de Flash Builder 4. Lo normal es que sea en Archivos de Programa->Flash Builder 4
  • Editar el fichero: FlashBuilder.ini
  • Incrementamos los siguientes parámetros, en función de la RAM que tengamos:

-Xms256m -> -Xms384m
-Xmx384m -> -Xmx512m

En el caso, de que no aparezcan estos parámetros, podremos añadirlos nosotros, en dos nuevas líneas.

En un MacBook Pro con 4 de RAM, los valores con los que lo he solventado el panorama han sido los siguientes:

-Xms512m
-Xmx512m
-XX:MaxPermSize=1024m
-XX:PermSize=64m

  • Guardamos el fichero .ini, y reiniciamos la aplicación Flash Builder 4.

Caso (b)

  • Ir a las carpetas de Flex 3.5 y 4.0, y entrar en la subcarpeta: /bin
  • Editar para ambos los ficheros: jvm.config
  • Modificar los parámetros:

Antes: -Xmx256m -Dsun.io.useCanonCaches=false
Después: -Xms384m -Xmx512m -Dsun.io.useCanonCaches=false

  • Guardamos los cambios>
  • Reiniciamos FB4

Mac OS

Para llegar hasta el .ini de Flash Builder en Mac Os:

  • Iremos a la carpeta Applications,
  • Luego a la carpeta del Flash Builder
  • Una vez dentro, hacemos clic derecho sobre el ejecutable, y le decimos ver contenido del paquete.
  • Entramos en la carpeta Mac OS
  • Editamos el fichero .ini, y aumentamos los valores:

-vmargs
-Xms512m
-Xmx512m
-XX:MaxPermSize=1024m
-XX:PermSize=64m

Pues nada ahí queda la info, que estoy seguro, que a algun@ le ahorra alguna hora de tiempo ;-) .

José Ramón León Somovilla

Flash Builder 4, llegó la evolución de flash…


Después de muchos años con Flash, y estos últimos ya mas centrado en programación y desarrollo con ActionScript 3, estas últimas semanas, primero con Flex 3, y luego con Flash Builder 4, han significado a nivel personal=profesional un antes y un después.

Como al César, lo que es de César, tengo que reconocer que era bastante reticente al respecto de pasarme a Flash Builder 4 (Flex 4 para los que no quieren gastar y tienen tiempo jeje), de hecho fue un “viejo” alumno y buen amigo, el que me empujo y me dejo en manos de Flex, con licencia y todo jeje. ¡Gracias Mario!.

El hecho, es que llevo el último mes y medio, trabajando a diario con Flash Builder, y mas concienzúdamente, estas últimas dos semanas, echándole bastantes horas (aunque bastantes igual son pocas jeje, unas 14 diarias.., ¿que os parece? ;-) ), y puedo asegurar sin lugar a dudas, que el ahorro de tiempo, evolución, y posibilidades de reciclaje de código, dan hasta vértigo. Crear cualquier cosa multi-idioma, es cuestión de coser y cantar, y hacer una intro con flash, de un diseño con Photoshop o Illustrator, es tan sencillo como usar Flash Catalyst CS5 de por medio. De Flash Catalyst CS5 esto ya hablaré en otro post mas adelante, porque se merece un post entero para el solo ;-) .

El hecho, es que con Flash Builder, haciendo cualquier cosa, y con la sencillez de exportar el proyecto en un archivo fxp, nos permite volver a repetir la intro, animación, o banner, en cualquier momento, simplemente modificando los textos, como si de dreamweaver se tratara, las imágenes, con el propio photoshop, y los gráficos…, ¡ay!, los gráficos, porque si señores, podemos trabajar de forma vectorial, y luego modificar nuestros diseños desde el propio Illustrator…., eso si, usando nuestro nuevo amigo: Flash Catalyst CS5, de por medio.

A ver si pronto puedo mostraros alguno de los proyectos que tengo entre manos, porque sinceramente, lo que no me puedo creer, es que proyectos que en Flash llevarían medio año largo, con Flash Builder podamos reducir este tiempo, en porcentajes de tiempo, que jamas hubiéramos siquiera imaginado….

Asi que nada, recomendación total, echarle un vistazo, descargarlo y enredarlo, y aunque de miedo, de verdad, buscar ejemplos que haya por la red, hacer vuestros pinitos, y ya me contareis ;-) .

Un saludo desde la capital riojana,

J.R. León Somovilla

Crear un cede multimedia…


Para hacer una presentación multimedia con flash, haremos nuestra presentación con flash como lo hacemos normalmente, y cuando la queramos exportar, iremos al menu Archivo->Configuración de Publicación, y seleccionaremos la opción de crear: Proyecto.exe.

Para que luego nos funcione correctamente, tendríamos que crear un archivo llamado: autorun.inf, con el notepad mismamente…, donde añadiremos las siguientes líneas:

[autorun]
open=presentacion.exe
icon=tuicono.ico

Sustituiremos: presentacion.exe por el nombre de nuestro .exe, y tuicono.ico, por nuestro propio icono. Para crear icos, podeis usar Photoshop, u otras aplicaciones web online, que os pasan archivos de formato jpg, gif o png, a ico.

Luego ya solo nos queda, grabar un cede con cualquier software de grabación, y ya tenemos nuestra presentación lista ;-) .

Juegos con flash…


Actualmente si hay un juego del que tenemos que hablar, ese es FarmVille (Facebook).

Demuestra la potencia de flash, y como flash ha dado el salto, de ser un software de animación de detalles para la web, a ser una potente arma de desarrollo de aplicaciones multimedia.

Aquí os pongo un par de ejemplos de juegos con ActionScript 2, para que os podais hacer a la idea, que si con As2, ya se podían hacer esas cosas, con As3, la única limitación, esta en nuestra creatividad…

Descargar juego1

Descargar juego2

Y para ver algo básico hecho con As3:

Necesitas instalar Flash en tu navegador.

El código, es open source, pero como no me acuerdo de donde lo cogí, por si acaso, no pongo el fla ;-) .

Con mas tiempo, este post continuará… ;-) .

Importar música a Flash…


Si vamos a la web de Adobe, vereis que nos dice que para importar archivos de música podemos hacerlo de dos formas:

Importación de sonidos

Para colocar archivos de sonido en Flash, impórtelos a la biblioteca del documento actual.

  1. Seleccione Archivo > Importar > Importar a biblioteca.
  2. En el cuadro de diálogo Importar, localice y abra el archivo de sonido deseado.
Nota: también puede arrastrar un sonido desde una biblioteca común a la biblioteca del documento actual.
Después de la clase de ayer, podríamos decir tranquilamente, que no es cierto funciona ;-) .
Imagino que sería Murphy, o el nombre del mp3, sino la verdad, que no lo entiendo ;-) .
Asi que importante!!!, tener el Flash actualizado, para que no nos haga cosas raras ;-) .

Especial III. Convertir MovieClips en Botones.


Para convertir un MovieClip en botón, simplemente tendremos que añadir esta sentencia en el primer fotograma:

miclip.buttonMode = true;

¿Sencillo, no? ;-) .

En cuanto a las posibilidades que se nos presentan, son infinitas, puesto que como vimos en el anterior Especial II, podemos controlar prácticamente todos los comportamientos de los botones.

En este caso concreto, en lugar de definir los comportamientos que llevan de serie los botones:

Resposo / Sobre /Presionado

Seremos nosotros los que podamos definir tantos como queramos, usando etiquetas de fotograma.

Como todo en esta vida, existe un “pero” en esta situación…, nos falta la zona de actuación del botón. De forma que si creamos un MovieClip muy delgado, formado por líneas, nos costará actuar sobre el mismo.

Veamos el ejemplo siguiente:

Necesitas instalar Flash en tu navegador.

Descargar Ejemplo

Si tratais de usar el clip, usando el cuerpo del muñeco, vereis que aunque aparece el puntero de botón, es complicado usarlo. En cambio, si probais el comportamiento, desde la cabeza, que tiene fondo, vereis que podeis controlarlo de forma mas sencilla.

La explicación, sería que un clip convertido a botón, selecciona como superficie de botón, la información que haya dentro del propio clip.

De esta forma, si queremos usar un Clip como botón, lo mejor será que el contenido defina una superficie de contacto amplia, o bien posicionemos en la primera capa, un botón transparente.

De forma que cuando definamos los eventos de botón, lo hagamos sobre el botón que contiene el clip, en lugar de hacerlo directamente sobre el clip.

Necesitas instalar Flash en tu navegador.

Descargar Ejemplo

Como podeis comprobar ahora, es mucho mas sencillo controlar el clip/botón ;-) .

Otra opción, sería crear un clip transparente en el propio escenario, pero nos funcionaría siempre que el clip no se moviera de sitio ;-) .

En el caso de que queramos acompañar las acciones con sonido, simplemente tendríamos que añadir una capa mas dentro de nuestro clip, donde pondríamos el sonido.

Descargar Ejemplo

Para poder poner el sonido, echamos los sonidos previamente a la biblioteca, luego vamos a los fotogramas claves, seleccionamos Sonido en propiedades, y elegimos el sonido que queramos asignarle. Podeis usar los sonidos que vienen en la Biblioteca comunes -> Sonido.

¿Fácil, no? ;-) .

Especial II. Curso de Flash Cs4. Varios.


Como crear nuestros propios botones, y usar ActionScript 3 para controlarlos.

Botones en flash, como definir las acciones.

Para crear un botón en flash, tenemos que hacer un dibujo, o usar una imagen, para posteriormente convertirlo en simbolo->botón.

También podemos usar los botones que flash trae por defecto, en el menu Ventana – Bilblioteca communes. Donde tenemos varios tipos de botones. Para usarlos en nuestro fichero de flash, tendremos que arrastralo desde la biblioteca hasta el escenario.

Una vez que lo hemos convertido en botón (o sacado de la biblioteca) , tenemos que darle un nombre=instancia desde las propiedades, para poder usarlo desde actionscript.

Como podeis ver en las imágenes, primero crearemos el boton, y luego le daremos su nombre. En el caso de que queramos usar varios botones mas, pues haremos lo mismo, pero siempre dándole distintos nombres a los botones.

Una vez que tenemos los botones con nombres, ya podremos controlarlos desde código.

Para determinar el comportamiento del mismo, tendremos que crear listener=escuchas, que son eventos, que por decirlo asi de alguna forma, escuchan a los objetos, y el comportamiento de estos.

Por ejemplo, a un botón podemos hacerle clic, podemos presionarlo, podemos pasar por encima, podemos dejar de presionarlo, podemos alejarnos de su ámbito, podemos hacer doble clic, …

Para controlar cada uno de estos eventos, usaríamos un listener.

Por ejemplo, para el primer botón de nuestro ejemplo:

miBoton

Si queremos controlarlo, los listeners posibles serían los siguientes:

miBoton.addEventListener(MouseEvent.CLICK, fn_clic);

MouseEvent, significa que realizamos un evento de ratón. Para un botón tenemos varias opciones:

MOUSE_DOWN (Presionamos el mouse)

MOUSE_OVER (Nos ponemos encima del botón)

MOUSE_UP (Soltamos el raton cuando lo teniamos presionado..)

MOUSE_WHEEL (Le damos a la ruleta del ratón)

Si queremos poner todos estos comportamientos a un mismo botón, iríamos creando sus listeners:

miBoton.addEventListener(MouseEvent.MOUSE_DOWN, fn_down);

miBoton.addEventListener(MouseEvent.MOUSE_OVER, fn_over);

miBoton.addEventListener(MouseEvent.MOUSE_UP fn_up);

miBoton.addEventListener(MouseEvent.MOUSE_WHEEL, fn_wheel);

Estas sentencias de botón, traducidas a nuestro lenguaje colloquial sería algo asi como:

A mi boton con nombre: miboton, cuando realicemos un evento sobre el de tipo: clic, over, down, up, ….), que ejecute la function: fn_nombredelaFuncion

Para definir la funcion, usamos la palabra reservada function. Seguida del nombre de la función, y luego le indicamos el tipo de evento para la que usamos la misma.

function fn_clic (ev_miBoton:MouseEvent) {

//acciones a realizar, por ejemplo, gotoAndPlay(), gotoAndStop();

}

En este caso la traducción a nuestro lenguaje colloquial sería:

Crea una función con nombre: fn_clic, que se va a ejecutar cuando se produzca un evento de tipo ratón, sobre nuestro botón miBoton, y ejecuta las acciones que yo te diga…

En el caso de que tengamos varios botones, pues haremos lo mismo por cada botón.

A la pregunta:

¿donde pongo el código?.

La respuesta sería, en el primer fotograma de nuestra película. Para entender esto es sencillo… Si queremos usar los botones en toda nuestra película, pues los tenemos que poner desde el principio.

En cuanto al código, asi como en versions anteriores de actionscript 1 y 2, el código iba por decirlo alguna forma, embebido en los propios simbolos, en actionscript 3, el código va en la linea de tiempo.

Como vamos viendo a lo largo del curso, para encontrar fácilmente el código, lo mas sencillo, sería crear una capa (que llamaramos codigo, as3, actionscript, o como nos apetezca…), y poner en ella el código.

miBoton.addEventListener(MouseEvent.MOUSE_DOWN, fn_down);
miBoton.addEventListener(MouseEvent.MOUSE_OVER, fn_over);
miBoton.addEventListener(MouseEvent.MOUSE_UP, fn_up);
miBoton.addEventListener(MouseEvent.MOUSE_WHEEL, fn_wheel);

function fn_over (ev_miBoton:MouseEvent) {  trace (“mouse over”);}
function fn_down (ev_miBoton:MouseEvent) {trace (“mouse down”);}
function fn_up (ev_miBoton:MouseEvent) {trace (“mouse up”);}
function fn_wheel (ev_miBoton:MouseEvent) {trace (“mouse wheel”);}

Protegido: Yo quiero un iPad…


Esta entrada está protegida. Para verla, escribe la contraseña: