Android – Organizar niveles en un juego
Soy nuevo en el desarrollo con Android. Para un proyecto escolar, actualmente estoy trabajando en una aplicación para que los niños les ayuden a aprender a escribir.
La aplicación contendrá muchos niveles que utilizan el mismo concepto, sólo los cambios de fondo. He hecho un nivel que funciona bien y ahora para terminar el trabajo, quiero añadir niveles utilizando el código de la primera.
Entonces, ¿cuál es una buena / habitual forma de hacer eso?
- URL de caracteres ilegales
- Obtener datos de una base de datos vs obtener datos de un mapa hash
- Cómo puedo convertir unicode cadena a ASCII en java
- ¿Cuál es una forma adecuada de obtener los valores de un JSON Volley requset?
- Mejor manera de extraer elementos de una matriz de 10 a la vez
Pensé que podía crear tantas actividades como niveles. En cada nueva actividad, podría iniciar la primera y darle el nuevo fondo como parámetro. Pero con más de 50 niveles, parece un poco extraño para mí tener tantas actividades.
Gracias por tu ayuda 🙂
- Cómo enviar la dirección en la aplicación de Android a Google Maps
- Aplicación de Android - ¿Cómo guardar un dibujo de mapa de bits en lienzo como imagen? ¿Código de verificación?
- Cómo cancelar una solicitud http
- Android: Hacer el botón holo predeterminado opaco
- Experiencia con Vaadin touchkit
- Mi aplicación Android se bloquea aunque estoy captando la excepción que dice está causando el fallo
- Cómo y comprensión del evento de arrastre y zoom con GLSurfaceView
- Android Instrumentación de Pruebas - UI Thread Issues
Puedes usar fragmentos, particularmente 1 tipo de Fragmento llamado ' LevelFragment
', que tendrá unos pocos argumentos que puedes pasar a él para que cada nivel sea diferente, esos argumentos deben referirse al contenido del nivel (fondo o lo que sea). De esta manera usted está reutilizando el mismo diseño y la misma lógica, cambiando sólo algunos de su comportamiento basado en los argumentos que tiene.
Ahora todo lo que usted necesita hacer es intercambiar fragmentos en su envase, mientras que todavía permanece en una actividad solamente. Puesto que su pregunta era un poco vaga, no puedo ofrecer ningún consejo de implementación en este momento, sino más bien una guía básica y una dirección a considerar.
Si el cambio a un fondo nuevo es todo un cambio de niveles se desencadenará, sólo añadiría una variable de miembro de nivel a la actividad y (por ejemplo) escuchar el siguiente nivel con el fin de cambiar el fondo. Si resulta que usted tendrá que cambiar más que el fondo, la respuesta de @Vucko s parece viable.
Definitivamente no repetir el mismo código cincuenta veces en cincuenta diferentes actividades!
Puede utilizar una BaseActivity que se extenderá de todas las demás actividades para la centralización de código. De lo contrario, puede utilizar siempre la misma actividad e iniciarla con un parámetro en la intención (por ejemplo, número de nivel) y hacer sus propias lógicas según el valor del parámetro. Finalmente, puedes dar una mirada a los fragmentos también, manteniendo la lógica central en la misma actividad.
Fragmento es su solución, simplemente puede pasar el nombre de los activos de fondo (intento de lanzamiento).