Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





Midp 2.0

Iniciado por zupervaca, 17 de Junio de 2005, 01:43:37 PM

« anterior - próximo »

zupervaca

 esto viene de otro hilo, pero como no tenia nada que ver creo otro

Citar@ses: Hay versiones para todos los gustos, pero creo que solo utilicé API de sonido específica para el Motorola A835 (el supositorio gigante). El resto van con MIDP2

¿merece la pena usar el midp 2.0? tengo entendido que muy pocos moviles lo usan, yo actualmente trabajo con el 1.0 que mas o menos permite de todo salvo el tema del sonido que expuse antes, por ejemplo el movil nokia 3650 que es el que tengo para hacer la mona chita y mas no soporta el midp 2.0 :(

saludos

sés

 En MIDP 1.0 no puedes dibujar imágenes invertidas ni reproducir sonidos (salvo algunos casos raros).

MIDP 2.0 lo llevan muchos móviles.

Todo depende del mercado que quieras abarcar. Si el juego es sencillo y el JAR ocupa poco, podrías permitirte incluir los gráficos invertidos que necesites. Esto... o que el juego en cuestión no necesite invertir ningún gráfico.

Si estás utilizando un Nokia, tiene su propia API (que tendrás que utilizar aunque sea solo por la clase FullCanvas) que permite invertir gráficos y reproducir sonido.

P.D.: En el EdV no necesito invertir ningún gráfico, solo uso MIDP 2.0 para el sonido.
Soy indeciso... ¿o no?

zupervaca

 hace tiempo cuando comence con el tema moviles busque informacion sobre cuantos moviles soportan el midp 2.0 y me lleve la sorpresa que solo unos pocos lo llevan, te paso el link para que le heches un vistazo
http://developers.sun.com/techtopics/mobil...y/device/device
como veras los que llevan el midp 2.0 son los mas modernos y caros naturalmente, yo siempre he optado por usar j2me de sun que es compatible con todos los moviles, el juego de rockman que hice hace tiempo esta hecho asi y funciona en cualquier movil existente que permita meter el juego

no obstante me gustaria saber como se hace para tener mil versiones de codigo fuente para cada movil y no morir en el intento por que yo cada vez que me viene a la cabeza lo del sonido me tira para atras el meterselo, como tienes el VdE para varias plataformas podias decirnos como organizaste el juego y eso  (ole)

saludos


samsaga2

 El API del midp 2.0 lo han orientado mas para juegos. Con la version 1.0 no puedes, por ejemplo, pintar imagenes con trasparencias sin tener que usar extensiones propietarias lo que hace imposible un juego multiplataforma (que es para lo que esta pensando JAVA). Ademas han mejorado bastante las conexiones de red (en la version 1.0 solo puedes usar HTTP) mientras que con la 2.0 pueces crear sockets TCP y UDP. Eso entre bastantes cosas mas.

zupervaca

 ¿transparencias de que tipo? si te refieres a opacidad no las tiene, pero color-key si ya que va con el formato png

Sacrifai

Cita de: "zupervaca"¿transparencias de que tipo? si te refieres a opacidad no las tiene, pero color-key si ya que va con el formato png
Pero que yo se sepa, el colorkey no se puede cambiar en tiempo de ejecución ¿ no ? si no que ha de ir definido en la imagen. Corregidme si estoy equivocado.

Fanakito

 Tras haber trasteado un poco con moviles Java este trimestre .. te recomiendo que te centres en una "marca" y desarrolles directamente para, p.ej Nokia y Ericsson, porque aunque Sun dira que Java es multiplataforma y tal ... luego los mobiles implementan las API que les viene en gana ... y, obviamente, prueba SIEMPRE en el movil, no te fies nunca de los emuladores ... que te vas a llevar sopresas  :D

Sobre MIDP 1 o 2 ... yo usaria 2 si tu movil lo soporta porque te vas a ahorrar batallar con las extensiones de cada marca y las peculiaridades para sonido, graficos, etc. Ademas el MIDP2 esta bastante bien preparada para hacer juegos como te han dicho. Y ahora cada vez mas terminales soportan el MIDP2, asi que "audiencia" habra ...  

samsaga2

Cita de: "Sacrifai"
Cita de: "zupervaca"¿transparencias de que tipo? si te refieres a opacidad no las tiene, pero color-key si ya que va con el formato png
Pero que yo se sepa, el colorkey no se puede cambiar en tiempo de ejecución ¿ no ? si no que ha de ir definido en la imagen. Corregidme si estoy equivocado.
Si, me refiero al color-key. Con midp1 no tienes a menos que uses las extensiones propietarias de cada marca.

sés

 La primera ley del programador J2ME: Java es multiplataforma
Que, traducido, quiere decir que Java existe en múltiples plataformas :D

Una vez entendido esto, y cuando se te quita la cara de tonto, que tarda bastante, toca ponerse el casco, agarrar el pico... y ale, a picar (nooo).

Ya de entrada, si me dices que programas para un Nokia, puedes irte olvidando del "estándar" MIDP 2.0... porque supongo que quieres hacer las cosas en pantalla completa, ¿verdad? :P Así que te toca coger el API de Nokia y utilizar la clase FullCanvas (primera patada al "estándar").

Para ese del fondo que dice lo de setFullScreenMode( true );... ejem... puedes quemar ese libro dónde lo hayas leído.

Ahora coge algún Motorola... uy, pero si tienes que usar su clase GameScreen... (segunda patada al "estándar").

Aparte están las resoluciones, que cada uno tiene la suya propia, aunque esto es lo de menos.

Los códigos de las teclas también cambian de un modelo a otro... y cuenta con los que no tienen ciertas teclas, claro. O las tienen pero desde Java no se leen.

El sonido, más de lo mismo. Unos leen MIDI otros leen WAV... otros nada... algunos incluso dan un error solo por poner el import de las clases de sonido, aunque ni las utilices (siguen las patadas).

Las clases supuestamente más "estándar" también dan problemas. En algunos móviles no puedes utilizar clases como InputStreamReader (MIDP 1.0). se te queda una cara algo así: (ses)

¿Cómo hacer para que funcione en cada móvil? Pues hay muchas páginas con información.
Algunos usas J2MEPolish, otros Ant + Antenna... yo voy a probar NetBeans, que trae integrado algo similar a las directivas de compilación de C, aunque esto tampoco te soluciona la vida y hay que usar de otros métodos.

En EdV solo hay tres versiones diferentes del código, una por cada ancho de pantalla (96, 128 y 176). Incluso esto podría haberse evitado usando algún fichero de configuración que especifique las diferencias de cada una (posiciones de los datos del marcador, tamaño de los tiles, velocidades de cada cosa...), con lo que solo tendría un código común para todos los móviles.

Sobre cómo lo hice, no puedo dar detalles, pero es similar a las librerías multiplataforma que rondan por ahí, y digamos que hacer BGL me ayudó bastante ;)
Soy indeciso... ¿o no?

sés

Cita de: "samsaga2"Si, me refiero al color-key. Con midp1 no tienes a menos que uses las extensiones propietarias de cada marca.
La verdad, nunca he necesitado cambiarlo en tiempo de ejecución.
Soy indeciso... ¿o no?

zupervaca

 despues de leer todo esto no entiendo como es que el juego rockman que hice hace tiempo me ha funcionado en todos los moviles que he probado fisicamente, si teneis posibilidad de probarlo esta en mi web, es gratis y esas cosas y fue una simple prueba en plan guarro, esta hecho con midp 1.0 y se adapta a la resolucion del movil entre otras mariconadas

saludos

sés

Cita de: "zupervaca"d...se adapta a la resolucion del movil entre otras mariconadas
Eso no quiere decir que use toda la pantalla.

En un Nokia, un setFullScreenMode( true ) no utiliza toda la pantalla.
Soy indeciso... ¿o no?

Zaelsius

Cita de: "sés"La primera ley del programador J2ME: Java es multiplataforma
Que, traducido, quiere decir que Java existe en múltiples plataformas :D
Frases típicas:

-Java: Code once, debug everywhere

-We've got a problem, we must develop this app so that it runs in multiple platforms... I know, we will use Java!
-Now we've got two problems.

:D

Mars Attacks

 Me voy a apuntar eso XDDDDDDDDD

zupervaca

 lo unico que me llevaria a usar midp 2.0 seria la necesidad de meter sonido a un juego, por que todo lo demas se puede hacer con midp 1.0, es mas, en la pagina de sun dicen que la mayoria de los nuevos objetos del midp 2.0 son funcionalidades extra a partir de la mipd 1.0, la funcion setFullScreenMode es para midp 2.0 con lo que yo no la uso, no se si funciona o no, cuando preguntaba si con un mismo codigo habias logrado meter sonido al VdE me referia sin sdks propietarios de cada movil, pero va en contra de mi filosofia registrarme para bajar el sdk de nokia por ejemplo  :lol:, usando otros sdks si que se puede hacer con un codigo, pero necesitaras varias compilaciones para cada movil y modelo ya que no abarcaras todos los moviles de la misma marca con un mismo sdk ya que para nokia que es el caso que he estado mirando resulta que tienes sdk para muchos tipos de moviles, series 40, 60, etc

por ahora me quedo con midp 1.0 que parece ser que funciona en todos los moviles que he probado fisicamente, efectivamente los emuladores que vienen con el Wireless Toolkit 2.3 funcionan, pero luego en los moviles no van del todo, eso es por que el midp 2.0 no es lo standard que quieren que sea en los moviles

efectivamente que java sea multiplataforma es que existe una maquina virtual en cada plataforma, pero eso es algo que creo que esta mas que claro, es lo mismo que ocurre con c-sharp y el proyecto Mono y los demas lenguajes "compilados a medias"

saludos






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.