Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





J2me

Iniciado por Lord Trancos 2, 12 de Octubre de 2005, 11:08:11 PM

« anterior - próximo »

Lord Trancos 2

 Ahora que con el concurso este, y el de la campus esta tan de moda lo de programar juegos para telefonos mobiles, y por culpa del link al tutorial que jazcks ha puesto en el hilo del concurso, me ha dado por trastear con esto de J2ME. De hecho tal vez, si consigo llegar adelante algo decente, incluso me da por participar en dicho concurso.

Y (como no) me han surgido una serie de dudas que todo novato en este nuevo mundo probablemente ha tenido. Con tal de encontrar un poco de iluminacion en este angosto camino, pregunto al oraculo del foro:

- ¿Tamaño máximo recomendable del .jar?
- ¿Siendo para MIDP1, como le meto sonido/musica?
- ¿Librerias de 3eros open source para acelerar el desarrollo?
- Teniendo en cuenta que cada movil tiene la resolucion que le sale del pito.... ¿como os lo montais? ¿Hay alguna resolucion "habitual" (como la mitica 320x200 en la epoca ms-dos)? ¿resolucion minima?

Zankius  :P  
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)

senior wapo

 Pregunto lo mismo, por lo mismo que Trancos  :P

Pregunta extra: ¿ Que pasa con las transparencias ? (mas bien máscara, nada de alphas). ¿ Alguna incompatibilidad o peculiaridad a tener en cuenta ?

Lord Trancos 2

Cita de: "senior wapo"¿ Que pasa con las transparencias ? (mas bien máscara, nada de alphas). ¿ Alguna incompatibilidad o peculiaridad a tener en cuenta ?
Yo he hecho una pequeña prueba con un grafico png con canal alpha y en mi movil funciona (nokia 6100).

En prinicipio parece que no hay que hacer nada raro para que se use el canal alpha.
on los años y mucho esfuerzo he llegado a atesorar una ignorancia total sobre casi todas las cosas.
Gate to Avalon (mi Blog)

_Grey

 Pregunta extra! :P , de que poca utilidad le somos a trancos....

Como no hay nada parecido al bucle de mensajes de win, ni a la secuencialidad de MSDOS, para "animar" la aplicacion, que se usa?? un timer que llame a la funcion de mensajes?? un hilo corriendo en paralelo???

Tambien me gustaria ampliar la pregunta de sonido que hace Lord Trancos 2, si no recuerdo mal hay una funcion para reproducir sonido(PlaySnd() o algo asi), deja parada la aplicacion cuando se ejecuta hasta llegar al final del sample o melodia midi?? o se puede llamar para que toque la musiquilla en segundo plano??

Sobre la pregunta final de Lord Trancos 2, sobre resoluciones "standard", por lo que se, podriamos decir que hay varias resoluciones "habituales", es aceptable tener un buffer al margen de eso, y reescalarlo a la hora de hacerlo visible en pantalla? o se trabaja con la resolucion nativa del movil y punto??

Gracias, y saludos a todos.

sés

 Intentaré responder a lo que pueda.

Cita de: >
[bQUOTE[/b]
<!--QuoteEBegin-->¿Tamaño máximo recomendable del .jar?No estoy seguro, pero creo que para Series 40 eran 64Kb, aunque en los más modernos no existe ese límite.

Citar¿Siendo para MIDP1, como le meto sonido/musica?
Algunos móviles, aun siendo MIDP 1.0, soportan las APIs de sonido (las estándar o nativas), pero en el concurso creo que está limitado a MIDP 1.0, así que: Ajo,H2O

<!--QuoteBegin]¿Librerias de 3eros open source para acelerar el desarrollo?[/QUOTE]Me cansé de mirar. Principalmente porque las que hay quieren ser tan genéricas y "limpias" (comprobación de errores y tal) que hacen crecer el código innecesariamente. Al final resulta más fácil hacer tus propias clases justo con lo que necesitas.

Citar¿Hay alguna resolucion "habitual" (como la mitica 320x200 en la epoca ms-dos)? ¿resolucion minima?
Hay algunas "estándar": 176x208/176x220 (Series 60), 128x128 (Series 40) y 96x96 (Series 30). Puedes hacerlo solo para esas (y que a muchos lo vean mal), hacer versiones para cada móvil o hacer que el juego se adapte a la resolución.

Citar¿ Que pasa con las transparencias ?
El móvil usará la que tenga el PNG. La transparencia que soportan todos los móviles es 0% y 100%. Mejor olvidarse de otras transparencias si no se sabe que un modelo las soporta.

CitarComo no hay nada parecido al bucle de mensajes de win, ni a la secuencialidad de MSDOS, para "animar" la aplicacion, que se usa?? un timer que llame a la funcion de mensajes?? un hilo corriendo en paralelo???
La forma normal es usar un Thread.

Citarsi no recuerdo mal hay una funcion para reproducir sonido(PlaySnd() o algo asi), deja parada la aplicacion cuando se ejecuta hasta llegar al final del sample o melodia midi?? o se puede llamar para que toque la musiquilla en segundo plano??
Se utiliza la clase Player. No se queda parada la aplicación, pero si es muy normal un pequeño (según el móvil, no tan pequeño) parón al comenzar.

Citares aceptable tener un buffer al margen de eso, y reescalarlo a la hora de hacerlo visible en pantalla? o se trabaja con la resolucion nativa del movil y punto??
Ólvidate de esos "efectos avanzados" :P


NOTA: No recuerdo bien las bases, pero decir que sea MIDP 1.0 y que tenga que funcionar en Nokia no deja muy claro qué se puede usar y qué no. Creo que ya lo preguntó alguien, y debería aclararse (si no se ha hecho ya) para saber qué APIs puede usar la gente que participe.
Soy indeciso... ¿o no?

Helius

 ¿Entonces cúal es la opción para usar sonido? No me he enterado bien...  :huh:

Precisamente una de las características que puntúan es el sonido asi que supongo que esperan que pongamos sonidos... Ya podía ser midp 2 joer  <_<

Saludos.
Geardome Devlog
Tutoriales sobre DirectX 9, Nintendo DS y PSP.

sés

 Es que deberían especificar más, porque la clase Player está en el paquete javax.microedition.media, que no tienen todos los móviles. El resto debería soportar su formato (ringtones de mielda) mediante las APIs de Nokia, que no tengo claro si están permitidas.

Para mí, algo que funcione en MIDP 1.0 es algo que solo utilice esa API, nada más. Pero también hablan de bluetooth, sonido... deberían especificar claramente qué APIs se pueden usar y cuáles no.

Además... si tiene que funcionar en un Series 30 ó 40... ¿qué pasa con los que no tengan bluetooth? Porque no todos lo tienen, ¿no? Igual que no todos tienen sonido.

Tampoco he visto que CLDC permiten.

Veo muchas lagunas en las reglas. Deberían especificar EXACTAMENTE qué se permite.
Soy indeciso... ¿o no?

jazcks

 también puede llevar a cierta confusión el que ponga que los juegos deben funcionar en nokia s40 y s60, yo creía que eran modelos en concreto, pero resulta que son las gamas o series de modelos, y hay un montón y cada uno con sus caracteristicas.

Nokia serie 40
P.ejemplo la pantalla, los más nuevos tienen 208x208, la gran mayoría tienen 128x160, y luego los más antiguos tienen 128x128 o incluso menos (96x96)...

Nokia serie 60
Aquí hay menos modelos, y todos excepto el nuevo n90 usan la resolución de 176x208, así que en este caso la cosa está clara.

Otros links interesantes:
Nokia platform SDK serie 40,  FAQ (pdf)
Nokia platform SDK serie 60, FAQ (pdf)

aquí habla algo sobre j2me y sdk de nokia para sonido : http://www.todosymbian.com/secart36-page5.html

Yo si puedo hacer algo, empezaré con 128x160, parece la más extendida, porque no se como hacer que se adapte a cada resolución.

Se puede consultar de alguna manera en java el modelo de dispositivo o serie?

Zaelsius

 Programar para móviles sólo es divertido durante, digamos, los primeros 5 minutos XD. ¡Alejaos mientras podais! (uoh)  

AgeR

 Jajajjja como dice Zaelsius, una vez aprendes cómo va todo, luego las limitaciones empiezan a asquearte y se va haciendo tedioso.

Sobre el sonido, yo creo que sí se podrá usar el SDK de Nokia para ello. Si no, pocos juegos habrán con sonido, al menos decente XD

Las transparencias, la eterna discusión. Básicamente, si una imagen tiene transparencia, si copias una parte de ella a una Image nueva, te convierte la transparencia a fondo blanco, con lo cual la pierdes.

Sí que deberían especificar el CLDC ya que hay unas cuantas cosas que puedes ahorrarte si usas el 1.1 en vez del 1.0. De todas formas yo he empezado presuponiendo que ha de usarse el 1.1.


jazcks

 
CitarSí que deberían especificar el CLDC ya que hay unas cuantas cosas que puedes ahorrarte si usas el 1.1 en vez del 1.0. De todas formas yo he empezado presuponiendo que ha de usarse el 1.1.
podrías "iluminarnos" un poco?  (ole)  

zupervaca

 para meter sonido en los nokia debeis de bajaros en "nokia ui api" para midp 1.0, ademas os dara la funcionalidad del fullcanvas entre otras cosas, la musica es por tonos, si quereis que vuestro musico la haga en midi puede ya que si os bajais el suite de nokia podeis convertir un wav o midi a tonos con un par de clicks de raton, tambien os recomiendo el netbeans para enlazar la plataforma ui con el de forma sencilla

saludos

senior wapo

 Segunda pregunta: ¿ Que pasa con el cliping (recorte de bordes) ?

- Si una imagen tiene un borde fuera de la pantalla ¿ se representa la parte visible o se ignora la imagen completa ?
- ¿ Es posible volcar solo una porción de una imagen en pantalla (u otra superficie/buffer) ? Lo digo pensando en dirty rectangles y tal.
- ¿ Es posible construir una imagen pixel a pixel en un buffer y luego usarla como imagen, volcarla a pantalla y tal ?

Todo esto en MIDP1, pero vamos, si se puede sólo en MIDP2 o no se puede, estaría bien saberlo también.

Gracias.

sés

 
CitarSi una imagen tiene un borde fuera de la pantalla ¿ se representa la parte visible o se ignora la imagen completa ?
Se representa la parte visible, claro... solo faltaba que no hicieran ni esto bien xD

Citar¿ Es posible volcar solo una porción de una imagen en pantalla (u otra superficie/buffer) ?
Mira Graphics.setClip() y Graphics.clipRect().

Citar¿ Es posible construir una imagen pixel a pixel en un buffer y luego usarla como imagen, volcarla a pantalla y tal ?
Solo en MIDP 2.0 o con las APIs específicas del móvil.
Soy indeciso... ¿o no?

_Grey

 Bueno... por lo menos crear un doblebuffer de toda la vida sera tan facil como crear un objeto Image con la resolucion que usas nop???

Por cierto, me e fijado que no coges toda la pantalla del movil en la aplicacion, con los metodos getWidth() y getHeight(), se coje la resolucion que usas, o la total, con el margen que no puedes acceder???

Gracias.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.