Cómo portar juegos móviles
La tarea principal del trasplante de juegos móviles es transferir el juego original a un modelo diferente de teléfono móvil. Un proceso que ha sido modificado para ejecutarse y usarse en teléfonos de modelos actuales. Así que este trabajo se puede dividir en varios aspectos:
1. Tratar con el tamaño de la pantalla
Este es también el punto más importante. Diferentes modelos de teléfonos móviles. Los tamaños de pantalla varían. La resolución es diferente. Por lo tanto, es necesario asegurarse de que cada juego pueda lograr el mismo efecto de ejecución en cada modelo de teléfono móvil. De hecho, eso es algo difícil. Por lo tanto, al trasplantar, intente encontrar un modelo con un espacio menor para el trasplante. A lo que se debe prestar atención en el programa es al tamaño del búfer doble. y la ubicación del contenido de la pantalla. Por supuesto, lo que más me gustaría ver es tener una variable global para controlar toda la escena del juego.
2. Modificar valores clave
Este es otro aspecto importante. Requisitos previos para garantizar que el juego pueda funcionar normalmente. Por ejemplo, las teclas programables izquierda y derecha de los modelos NOKIA son -6 y -7 respectivamente, mientras que las teclas programables izquierda y derecha del C650 de Motorola son -21 y -22. Entonces esta diferencia es inevitable. A menos que su programa de juego móvil pueda adaptarse a diferentes modelos para generar diferentes valores clave. Un juego que hice el mes pasado era así. Y se adapta a diferentes tamaños de pantalla. Realmente buen programa.
3. Lidiar con el uso de la memoria
Este es otro problema inevitable. Si su teléfono funciona bien. Entonces tal vez no tengas que pensar en eso. Por ejemplo, juegas en Motorola E680. Pero lo que hay que tener en cuenta es la capacidad de memoria de la mayoría de los modelos. He visto muchos juegos adaptados a modelos más nuevos con muchos problemas inexplicables. Suele deberse a una memoria insuficiente. Por ejemplo, no se pueden mostrar imágenes. El juego no se puede instalar. accidentes, etc. Entonces estamos en el proceso de trasplante. Debe calcular el uso de su memoria con anticipación. Establezca objetos inútiles en NULL.
4. Chinoización completa
Algunos juegos tienen interfaces en inglés. Así que si quieres cumplir con las especificaciones de China Mobile, hazlo. También hay que asegurarse de que no aparezca ni un solo carácter inglés. Pero esto también suena un poco abrumador. Por ejemplo, ¿cuál es la vuelta de la pista LAP 1/3 en el juego? Debes cambiarlo al círculo 1/3. Pero no hay nada que podamos hacer. Cumplir con las especificaciones es un requisito previo para enviar tu juego. El problema que puede surgir en la traducción al chino es. Si el texto se convierte en una imagen, necesitarás la ayuda de un artista para completar el trabajo.
5. Modificación de funciones del juego
Muchas veces si quieres mantener las mismas especificaciones que China Mobile. Es necesario modificar la posición de las teclas de función izquierda y derecha. También implica agregar funciones de pausa y reanudación al juego. A veces incluso necesitas escribir tu propio menú de juego. Y agregue algunas interfaces LOGO.
Los aspectos mencionados anteriormente. La mayoría de ellos son contenidos laborales que deben abordarse durante el trasplante. Si te encuentras con un juego que te resulta difícil comenzar. No tengas prisa. Porque no escribiste el código. Si te mareas al mirarlo, empieza con algo sencillo. Entonces aclara tu mente. Hablemos de los pasos generales del proceso de trasplante.
1. Ver archivos de recursos
Esto es lo más importante. Es un requisito previo para que puedas modificar el juego. Si ni siquiera sabe qué es un archivo de recursos, no podrá completar el resto del trabajo. Hay varios tipos de archivos de recursos. Como imágenes simples. Formato PNG (el formato de imagen del juego japonés DOJA es GIF), archivos de sonido, archivos de texto, archivos de datos, etc. Aquí quiero mencionar los archivos de datos. Generalmente, los archivos en formatos distintos de imágenes, sonidos y texto se denominan archivos de datos. Pero este tipo de documento es algo que no quiero ver. Porque no es fácil de modificar. Algunos juegos son para facilitar la lectura de recursos. y consideraciones de espacio. El archivo de imagen se convertirá en un archivo de datos para su procesamiento. En el pasado, se utilizaba Ultraedit para abrir este archivo de datos. Luego extraiga los datos en formato PNG pieza por pieza. Luego guárdelo como un archivo PNG. Muy problemático. Más tarde escribí dos herramientas. Se utiliza un programa para extraer imágenes. Un programa utilizado para regenerar archivos de datos. Parece mucho más conveniente.
2. Consejos para leer el código
El código debe leerse. De lo contrario, no se consideraría modificación. Pero no es necesario comprenderlo todo ni leerlo detenidamente. Y no es necesario leer cada frase si hay decenas de miles de líneas de código. Lee cada oración nuevamente. Es suficiente para cansarte. Y no se puede completar dentro del tiempo especificado por BOSS.
Tú también estás en problemas. Normalmente empiezo mirando las clases que implementan las escenas y funciones principales del juego. Esta es la llamada clase Canvas. Porque esta clase definitivamente no comenzó sola. Para cargar a través de la clase principal MIDlet. O cárgalo de forma más eufemística a través de otra clase. Por lo tanto, otras clases ayudan a esta clase a completar las funciones del juego. Luego mire qué paquetes ha importado esta clase. ¿De qué clase hereda? Qué interfaz está implementada. Luego mira su constructor. Y el método paint(). Si hay subprocesos, mire también el código en run(). Estos son los principales puntos de entrada a este juego. Controla el progreso y los gráficos del juego. Otros son como algoritmos en los juegos. Si tienes tiempo. Simplemente estúdielo detenidamente. Esto tendrá sentido para ti.
3. No confíes en los emuladores
Si creas juegos móviles de diferentes marcas y modelos, definitivamente usarás emuladores para ejecutarlos. Mira el efecto. La palabra "ver el efecto" es muy apropiada. Porque algunos emuladores de juegos no pueden ejecutarse. Ni siquiera puedes ver el efecto. Por lo tanto, debe ejecutarse y probarse en un teléfono real. Pero los valores clave también deben medirse con una máquina real. Aunque la mayoría de emuladores son iguales a sus correspondientes dispositivos reales.
4. Resolver los errores de diferentes teléfonos móviles.
Esto es lo más problemático. Se producirán algunos errores inexplicables. Obviamente funciona muy bien en este teléfono. Sin embargo, se produjeron errores inesperados en otro teléfono móvil. Por ejemplo, no se puede instalar. No se puede mostrar la imagen. Juega hasta que se congele en alguna parte. El sonido no se puede reproducir, etc. No se preocupe si encuentra problemas. Recuerde con calma el código y el proceso de la última modificación. Si se excluyen las causas humanas. Luego considérelo desde la perspectiva de la memoria y las imágenes. A veces, repaint() y ServiceRepaints() también pueden causar problemas. Por ejemplo, el nuevo sistema S60 de NOKIA. Y no piense demasiado unilateralmente sobre el problema. Porque el juego en sí es un proceso entrelazado.
Además, también queremos hablar del procesamiento de la memoria del teléfono móvil. Este es un tema clásico. ¿Cuál es el uso de String, System.gc() y similares? Además de establecer objetos inútiles en NULL. Hay discusiones relacionadas sobre estos en línea. Y el uso de estática. Menciona un lugar. Entonces es cuando el teléfono carga la imagen. La memoria ocupada por una imagen en un teléfono móvil se calcula como: largo de la imagen × ancho de la imagen × número de colores de la imagen × 2. Incluso una imagen transparente y una imagen monocromática del mismo tamaño ocupan una memoria muy similar. Utilice también Graphics.drawString() con moderación. Cuando tengas tiempo, puedes escribir tu propio programa para probarlo. Si escribes un texto. Se utilizan N veces de esta declaración. Entonces deberías comprobarlo. ¿Es necesario reemplazarlo con una matriz de cadenas? O conviértalo en una imagen que ocupe menos memoria.