En XNA a Mono Android Conversiones: ¿Qué es una manera simple (o la más simple) de manejar el ciclo de vida de la actividad?

Soy un desarrollador de C # que trabaja en conversiones a Mono Android. Estas conversiones funcionan perfectamente, excepto cuando el teléfono se agota o se borra y el usuario toca la pantalla de nuevo …. El juego se pierde.

¿Cuál es la manera más simple de tratar esto? He oído que se refiere como el ciclo de vida, y encontró muchas descripciones breves de este ciclo sin explicaciones de cómo implementarlo con ejemplos reales, y especialmente, cómo implementarlo con conversiones de XNA.

Mi primera solución sería tener un método de "Pausa" en el juego XNA, y ejecutar ese método para la 'onPause' de Android. Sin embargo, puede haber formas más sencillas de hacer frente a esto, como he oído que hay sencillas configuraciones de Mono Android para recoger que se ocupará de los tiempos libres y llamadas telefónicas automáticamente.

Lo que pregunto es .. ¿Cómo puedo hacer que mi conversión XnA continúe ejecutándose a través de una llamada telefónica, tiempos de espera de pantalla, etc?

¿Puedo preguntar si estás usando MonoGame o simplemente el AndroidGameView que viene con Mono para Android?

Si está utilizando AndroidGameView, le sugiero que siga la convención de volver a cargar las texturas manualmente en OnLoad () según la muestra de cubo con textura .

Al usar MonoGame, si carga texturas a través de ContentManager.Load<Texture2D>() , la recarga se maneja para usted. Las texturas cargadas con Texture2D.FromStream deben recargarse manualmente en el evento GraphicsDevice.DeviceReset .

Como Andrew Russell señaló, ExEn tiene la ventaja de que no necesita recargar las texturas en cada hoja de vida. Sin embargo, todavía es necesario (o buena práctica al menos) para apoyar la recarga de recursos gráficos en Android. En muchos dispositivos tu juego no podrá recuperarse graciosamente de cambiar de distancia y de vuelta sin él. ExEn actualmente no tiene soporte para recargar texturas.

Xamarin está trabajando actualmente en arreglar un error en AndroidGameView que le permitirá reanudar correctamente donde el dispositivo lo admite. Una vez liberado, esto debe fluir a través de MonoGame.

Aparte de recargar texturas y otros recursos gráficos, el manejo del ciclo de vida debe ser bastante trivial. MonoGame aún no ha implementado el ciclo completo de Windows Phone (es decir, la lápida y rehidratar), pero en mi experiencia, no es necesario. Puedes usar los eventos Game.Activated y Game.Deactivated para cosas como mostrar la pantalla de pausa al reanudar en el juego.

  • Java.lang.IllegalArgumentException: ya agregado Lokio / AsyncTimeout
  • Necesito un ejemplo de sqlite con Monodroid
  • Biblioteca C # .dll en la aplicación para Android
  • Programe la notificación usando el administrador de alarmas en formularios xamarin para android
  • Registrar ContentObserver en Application.OnCreate () Servicio VS
  • Fondo circular de ProgressBar: Android Xamarin
  • Símbolo no encontrado en OnActionExpandListener
  • No puede convertir implícitamente tipo 'System.IO.Stream' a 'Java.IO.InputStream'
  • Mono para Android, obfuscación de código
  • Cómo detener un proceso de System.Diagnostics.Process y obtener las estadísticas al final
  • Mono para macros de preprocesador de Android
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.