Si eres un programador de aplicaciones de Android que está pensando en entrar en el desarrollo de juegos, es probable que estés planeando escribir código en Java . Si eres un veterano de desarrollo de juegos que está pensando en traer juegos a Android, es probable que prefieras hacer todo en C ++ .
El juego de acción de desplazamiento lateral que escribí, Replica Island, es completamente Java . Utiliza Open GL ES 1.0 para dibujar y es compatible con Android 1.5. Se ejecuta a una buena velocidad de fotogramas (cerca de 60 fps en el G1) en casi todos los dispositivos Android. De hecho, muchos de los juegos populares en Android Market se escribieron en Java, por lo que si eres el tipo de persona que encuentra la codificación en C ++ como hablar en lenguas, puedes estar tranquilo sabiendo que Java en Android es perfectamente viable para juegos.
Dicho esto, el código nativo es el camino a seguir si tu juego necesita ejecutarse lo más rápido posible. Acabamos de lanzar la cuarta revisión de nuestro Native Development Kit para Android, e incluye una serie de mejoras que son particularmente útiles para los desarrolladores de juegos. Usando el NDK , puede compilar su código en una biblioteca compartida, envolverlo en un delgado shell de Java para administrar eventos de entrada y ciclo de vida, y hacer todo el trabajo pesado en C ++ con las API regulares de Open GL ES . A partir de la Revisión 4, también puede dibujar directamente en los búferes de píxeles de mapa de bits de Java a partir del código nativo, que debería ser más rápido que cargar mapas de bits, ya que GL texturiza cada cuadro para los juegos 2D que desean hacer su propia composición de escena. La revisión 4 también (¡finalmente!) Incluye soporte de gdb para depurar su código nativo en el dispositivo.
- ¿Por qué es "fácil de desarrollar" una prioridad para los sistemas operativos de teléfonos inteligentes?
- ¿Cuál es la forma más rápida de crear un prototipo en el que se pueda hacer clic que se ejecute en Android?
- Cómo bloquear llamadas restringidas en Android
- ¿Cuál es la diferencia entre una actualización OTA y una actualización USB en Android? ¿Una actualización USB tiene alguna ventaja sobre una actualización OTA?
- ¿Deben seguirse las pautas de diseño de Android?
Debe saber que cuando usa el NDK , no tiene acceso a las API de Android Framework. No hay forma, por ejemplo, de reproducir audio desde C ++ (aunque anunciamos en Google I / O nuestra intención de admitir Open SL ES en el futuro). Algunos desarrolladores usan la API AudioTrack para compartir un búfer directo con código nativo que mezcla y genera una transmisión PCM sobre la marcha, y muchos llaman desde C ++ a la interfaz de Java SoundPool. Solo tenga en cuenta que para este tipo de trabajo, se requiere un salto a través de JNI (INTERFAZ DE RED JAVA) al código Java .