Anuncios Google

Notas sobre programar en Adobe/Macromedia Flash para PSP

Tutoriales Avanzados Homebrewes

No es exactamente un tutorial (los que hay en el propio Flash son los mejores que yo haya visto jamás), sino una pequeña lista de referencia básica sobre las peculiaridades de .swf en PSP.

  1. La resolución, ya sabéis, es una extraña proporción de 30x17 bloques de 16 píxeles, dando un total de 480x272. (¿A esto le llaman "proporción 16:9"? 15:8 es bastante más aproximado... ).
  2. El reproductor sólo está disponible (según documentación oficial) para Flash 6.0 (MX). Conviene recordar que, a diferencia de los editores/creadores/compiladores de .swf y este formato, el reproductor no es abierto ni libre, así que hay que esperar a nuevas versiones de Adobe. Olvidaos, pues, de ActionScript 2 y ActionScript 3; sólo el buen viejo ActionScript 1, ése que permite no definir el tipo de una función, esas clases tan fáciles de insertar, y esa deliciosa función random() que no tiene el posible bug de Math.random() -si no sabéis de qué hablo, consultad las respectivas referencias para ver sus rangos de resultados-. Obviamente, cualquier programa hecho en ActionScript 2 o 3 corre un serio riesgo de no funcionar.
  3. El hardware de aceleración &c propio de la PSP no está disponible para Flash.
  4. No están disponibles los sharedObjects ni localConnection ni XMLSocket (pero , parece ser, loadVars). Esto significa que, si quieres hacer una grabación de algo... tendrás que volver a los buenos viejos métodos de cuando las partidas se grababan en cinta, y no valía la pena estarse un cuarto de hora para grabarla (así que hay que buscar alternativas, como códigos cifrados o almacenamiento en base de datos SQL si quieres hacer algo del estilo). Ten en cuenta lo que esto implica para la seguridad sandbox de Flash.
  5. Mucho cuidado con el audio. Igual que en su versión de PeCera, es de lo que más traga. Soporta la compresión MP3... igual que en PC. (O sea: grábalo en WAV, expórtalo como MP3 en las opciones de publicación... y, si crees en algún ser sobrenatural, reza).
  6. Los controles son reducidos. Puedes acceder al analógico (que se comporta como un ratón), los cursores (idénticos a los cursores, valga el principio de identidad) y el botón X (los otros tres no), que funciona como el botón del ratón. Habrás notado que esto te deja unos 8/32 controles/entradas posibles controladas a la izquierda, y un único botón a la derecha. Viva la ergonomía... y los zurdos, que de ellos será el Reino de los Juegos (en Flash). Los eventos de onMouse, todos, funcionan normalmente.
  7. Dicen que se puede introducir texto "mediante el teclado en pantalla". Dicen... en cualquier caso, lo que está claro es que no puedes usar ninguna tecla como control, salvo las ya explicadas (véase punto anterior). Y que te puede ser muy recomendable hacerte tú mismo ese tecladito (sólo necesitas un clip dinámico con texto, y un código pequeñito, y ale).
  8. No se puede usar el portapapeles (¿para qué?), ni hay el menú contextual (que con Stage.showMenu=false; ya se quedaba en sólo el "Acerca de..."), ni imprimir (¿dónde?).
  9. Está en infracción de la patente de Eolas, lo que significa que el primer click se dedica a activar el Flash.
  10. Parece ser que Mouse.hide y Mouse.show no funcionan (!!!).
  11. Alguna carcoma —en inglés, bug— en setMask. Cuidado. Como siempre, mejor separar todos los elementos y aplicar la máscara independientemente.
  12. No hay streaming (la madre que los...). Y parece que el control de carga no es demasiado efectivo (supongo, igual que el de PC cuando se carga de localhost).
  13. Si se aprieta Home o Select, y no se abandona el navegador, se inhabilitan todas las funciones de conectividad/red (las que funcionaban: loadmovie, loadVars, etc.). Si vas a usar algo de esto, mejor que avises del bug... que si no, el airado usuario la tomará contigo.
  14. Dicen que hay diferencia entre usar bitmaps y vectores en cuanto a rendimiento. Lo que no especifican es cuál es más rápido, o cuál es la diferencia... Cabe suponer que es igual que en la versión PeCera: mejor vectoriales, especialmente si piensas usar transformaciones, pero cuidado con atiborrar las cosas.
  15. Cuenta que el navegador sólo dispone de 2 MB compartidos para las tres pestañas. El tamaño máximo del .swf recomendado es de 1,5 MB.

Así que en resumen: debes programar en Flash 6 o inferior (el Flash 5 que ya es libre, &c), con una memoria de, como mucho, 2 MB, y para una tarjeta gráfica cutrilla. Olvídate de cosas como "cuando llegue a este píxel, dale un puñetazo", demasiados eventos onEnterFrame en un mismo fotograma (si hay más de uno, ya son demasiados), excesivos clips unidos dinámicamente, mejor un máximo de 25 fps (o 24, que es un estándar) y, por supuesto, jamás se te ocurra dibujar algo con alpha 0 (porque no lo vas a ver, pero Flash se tomará muchos esfuerzos para decidir que no debe mostrar nada. Y no hacer nada es algo que nunca debería traer mucho trabajo). Y el mandamiento de "antes función iterativa que función recursiva" es, en PSP, un imperativo total.

4.53846
Tu voto: Ninguno Votos totales: 4.5 (13 votos)

Anuncios Google

Comentarios

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.

¿DONDE PUEDO DESCARGAR ADOBE FLASH PLAYER PARA PSP?

HOLA ... ME PODRIAN DESIR DON DE PUEDO DESCARGAR EL AFP PARA UNA VERCION 3.90 MI PSP NO TENIA ACTIVAR FLASH PLAYER EN AJUSTES ME PODRIAN AYUDAR POR FABOR

 

GRACIASLaughing

 

EDITADO: El uso abusivo de mayúsculas no está permitido. Por favor, revise las normas de la comunidad. Gracias. -Viciuz-

Imagen de Conjo

-

tipo de psp: en 2000, 3000 y GO! no esta esa opcion

la psp Viene con flash

el 3.90 esta desactualizado ¡Actualizate!

Imagen de pspgorrister

LOLAZO

Anda que...

el 3.90 esta desactualizado ¡Actualizate!

Sabio consejo, sólo que... ¡ESE POST ES DE HACE CASI 2 AÑOS!

A ver si no resucitamos Dinosarios sólo para poner un POST que no aporta nada. ¿Es para ganar Scenebitos?

 


LuaDiE: Crea en Lua sin teclear código. Compatible HM7, HMv2, LuaPlayer, LuaDEV y PGE.

tengo una duda

hola soy nuevo en el foro.

tiene cosas muy interesantes que me han servido mucho gracias.

tengo una duda sobre programar en adobe macromedia flash nesecito tener internet para correr la animacion o en donde guardo el archivo swf

 

muchas GRacias..

Laughing

 

Imagen de ZYX3D

Algunas respuestas

Ya es casualidad, no me paso mucho por esta sección y justamente hoy hay una duda... :)

Bueno, yendo por partes. A tu primera pregunta, no necesitas Internet para correr la animación (de entrada). Eso sí, necesitarás un Flash Player para reproducir el swf. En la PSP está de serie con el navegador de los últimos Firmwares, y si usas el Adobe/Macromedia Flash, tiene en el mismo paquete el StandAlone Player, (que podríamos traducir por "Reproductor solitario"), y lo que indica el nombre es que no necesita navegador ni nada, es un programa independiente que abre y reproduce los swfs.

Hay otro tipo de players, que son los plugins de cada navegador (no son intercambiables, el de Opera no sirve para IE, etc.). Y cada cual tiene sus pequeñas manías, así que puede ser muy recomendable hacer las pruebas en al menos un par de navegadores. Y para descargar estos players o reproductores de plugin (que van dentro del navegador, y permiten abrir los swfs con él), sí necesitarás Internet, aunque sólo para descargarlos. Si no lo han cambiado, con todo, no necesitas estar conectado para instalarlo, así que si te interesa, quizá pudieras descargarlo desde un ordenador conectado, e instalarlo en otro sin internet (son instaladores pequeños, creo recordar que cabían hasta en un diskette). 

Así que para reproducirlo, simplemente, no necesitas estar conectado. Aparte, también hay utilidades que permiten hacer un .EXE de Windows o un reproductor para Mac (pero que yo sepa, nada que pueda hacer un eboot de PSP, por ejemplo).

Respondiendo a la segunda pregunta... puedes guardar el archivo swf donde quieras. No afecta. Lo que sí puede afectar es que si el swf carga datos externos (un archivo de texto con datos, otro swf, un jpg, etc.), ese archivo seguramente sí tenga que estar en un sitio concreto, el que especifiques en el swf que lo cargue. Si has tratado con HTML, ya te sonarán las "rutas absolutas" y las "rutas relativas". En PC no importa mucho cómo escribas la ruta, porque sirve lo mismo absoluta que relativa; en PSP, en cambio (esto creo que tendría que actualizarlo), sólo sirven las rutas absolutas. 

En cualquier caso, como resumen esto: no importa dónde guardes el swf, en todo caso importará dónde guardes los archivos secundarios y cómo los cargues. Pero de todos modos, seguramente no necesites utilizar archivos externos al principio.

Espero haberte sido de ayuda, un saludo (y bienvenido). 


Strength is irrelevant. Resistance is future. We wish to improve ourselves.

La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.

Imagen de Gohrum

Esta muy bien, me lo he

Esta muy bien, me lo he leido y tiene cosas útiles.

Puede tomarse ciomo un punto de partida a tener en cuenta a la hora de empezar algun proyecto en flash o entender xq pestes no funciona algo :P

Gracias 


Muerta la rabia, se acabaron los perros.

Imagen de ZYX3D

A disponer :)

La verdad, hace más bien poco que me he metido en el porting de Flash a PSP, pero una de las cosas que me ha sorprendido es la escasez de documentación existente, por un lado; y por el otro, que a veces es flagrantemente contradictoria...

 El caso más llamativo es el Player. (Y quizá convendría que matizara algo, ya de paso). Por lo que dicen, es la revisión 65 del Flash Player 6 ... y  puede aceptar AS2.

Y el AS2, salvo la típica beta inestable, estuvo disponible sólo a partir del Player 7, así que uno no sabe muy bien cómo se come esto.

 Lo que me parece que pasa en realidad es que es una versión del Flash Lite 1.1 o 1.2, que salió poco después del MX 2004 (que incorporaba AS2 y el Player 7), pero no-era-exactamente-como el Player 7, sino que se parecía más bien al 6, pero con cosas del 7. (O sea: que funcionaba bien con AS1, pero le pasaban un montón de cosas raras con el AS2... valga la redundancia, que "AS2" ya es a veces sinónimo de "pasan cosas raras"). Y es que, aunque no detallan mucho cómo es el reproductor de PSP, sí que parece ser en realidad un port del reproductor de otra máquina, un teléfono que ahora no recuerdo. Ya sabemos cómo es Macromedia-Adobe con las plataformas no-Windows.

O sea, que teóricamente sí se puede usar AS2; incluso algunos de los ejemplos que se encuentran por ahí son de un clarísimo AS2. Pero vaya, creo que ya entendéis por qué soy tan drástico (más aún si habéis sufrido las actualizaciones interinas entre el MX 2004 y el Flash 8, cuando era aún el 8-Ball). Al fin y al cabo, salvo la declaración de tipos y demás especificaciones ECMA, AS1 y AS2 es básicamente lo mismo. Y de las clases propias de AS2, o son rotundamente inútiles (caso del PrintObject, o los objetos del -inaccesible- menú contextual) o no dicen ni mu sobre su funcionamiento/no funcionamiento, y no se puede deducir del resto (si funciona loadMovie pero no funciona el XMLSocket, ni el streaming... ¿se puede usar un MovieClipLoader? Y... ¿se puede saber su progreso? Misterio, intriga, dolor de barriga.).

Como además esas clases (Vector, MCLoader...) se pueden definir sin demasiados problemas en AS1...  pues eso. 

Que igual sí se puede programar en AS2 para PSP,  pero dada la complicación de hacer un port desde otra plataforma -donde seguramente habrás aprovechado tus cosillas como teclado y tal- , las restricciones de la propia plataforma y el aparente contrasentido de la  documentación... el tiro más seguro parece ser empezar desde el principio con AS1...y por, supuesto, usar esas buenas prácticas que no son necesarias en el 1 y sí en el 2, pero siempre son buena cosa (asegurarte de que los nombres de variables  no "bailan" entre mayúsculas y minúsculas, sino que están siempre igual; declarar las variables en su ámbito, &c &c).

Y, en todo caso, esperar a que (les) hagan un Player de AS3 en condiciones (que, teóricamente, el AS2 también está deprecado y tal y cual y Pascual...) 


Strength is irrelevant. Resistance is future. We wish to improve ourselves.

La fuerza es irrelevante. La resistencia es futuro. Queremos mejorarnos.

Imagen de Unicorn

Me he tomado la libertad

de pasarte esto a portada, no queria que se perdiera en la inmensidad del foro. Puede ser realmente util para quien quiera hacer sus pinitos en el tema.

Gracias por el aporte compañero. 


Para recibir ayuda más rápidamente, recomendamos que pongas títulos descriptivos y no utilices abreviaturas (estilo MSN) en tus post de los foros. Recuerda revisar el Manual del perfecto forero y las Normas de la Comunidad.

Imagen de Pana

Yo me he tomado la libertad

Yo me he tomado la libertad de retocarlo un poco jejeje. Na, solo he puesto la numeración un poco más "clara".

Saludos. 

Opciones de visualización de comentarios

Seleccione la forma que prefiera para mostrar los comentarios y haga clic en «Guardar las opciones» para activar los cambios.