locked
Duda acerca de modularizacion de "stages" en XNA RRS feed

  • Pregunta

  • Hola chicos.

     

    La verdad escribo ya que hace poco empecé con XNA y tengo la siguiente inquietud.

     

    Resulta que ya hice juegos simples (Space Invaders), y también aprendí a hacer menús, pero hasta ahora lo tengo en un proyecto aparte. Ahora, quiero unir el menú con el juego, de modo de que aparezca el menú y que al escoger una opción se inicie el juego. La verdad es que no he encontrado buenas maneras de dejar varios "stages" (es como yo les llamo a pantallas con distintos contenidos, no conozco el nombre técnico) juntos, en lo que a código se refiere, de manera ordenada y modularizada, de manera de poder pasar de un "stage" a otro, y que sea fácil añadir más y pasar información entre ellos.

     

    Pensé en dejarlos cada uno como un DrawableGameComponent con todas sus cosas, y que dependiendo del modo escogido se llame manualmente a los Update y Draw de cada uno, pero no me convence. Me gustaría pedir opiniones acerca de buenas prácticas en este tema.

     

    Gracias. Saludos!


    NettoX
    miércoles, 5 de enero de 2011 3:56

Respuestas

Todas las respuestas

  • Buenas,

    Lo más parecido que he encontrado a esto son algunos libros de arquitectura de videojuegos en Amazon, todos en inglés por supuesto.

    Si encuentras algo en castellano ya nos lo dirás :)


    Jesús Bosch Aiguadé
    http://geeks.ms/blogs/jbosch
    lunes, 10 de enero de 2011 7:41
  • Hola, yo creo que es mejor usar el Drawable Compontent, yo hice una entrada para un administrador de escenas o stages como los llamas: http://escarbandocodigo.wordpress.com/2011/01/13/administrador-de-escenas-%e2%80%93-xna/
    Martin Reina http://escarbandocodigo.wordpress.com/
    jueves, 13 de enero de 2011 20:02
  • Vale!

     

    Muchas gracias por la ayuda. En estos momentos le estoy echando un ojo a lo que publicaste! Comento luego como me fue.

    Edit: Ahora  revisé completo el tutorial. Me parece buena la idea, pero me quedan dos dudas. Tu solución como manera la comunicación entre stages? Es decir, si en una por ejemplo tengo que... no se... escribir varios textos... y necesito pasar el texto escrito por el usuario a otra stage para hacer algo con ellos.. como lo lograría hacer?

     

    Y lo otro, por lo que entiendo, sería necesario dejar todo inicializado desde un comienzo? Me refiero a que si es así tendré el gasto de memoria de todos los elementos, lo cual en un juego grande sería un problema =S.

    Muchas gracias!

    Saludos!


    NettoX
    viernes, 21 de enero de 2011 17:24
  • Hola,
    Para el primer punto, puedes declarar una propiedad mensaje o parámetros que sea String o dependiendo de lo que quieras tener, así cada Stage que heredé de la clase GameScene tendrá disponible la propiedad y se podrá usar para enviar mensajes.

    Para el segundo punto, no se si te refieras a que en cada Stage tengo que inicializar digamos la textura o los textos del menú, pero como el punto anterior puedes declarar propiedades en cada Stage dependiendo de lo que quieras hacer, y luego desde la clase game1 u otra que uses para manejar los flujos, empiezas a inicializar las propiedades.

    Lo que quise hacer es tener una clase Base (GameScene) y luego poder crear más clases dependiendo de lo que yo quería hacer, por ejemplo la clase ActionScene puede ser usara para inicializar y manejar el flujo de los sprites y las puntuaciones.


    Martin Reina http://escarbandocodigo.wordpress.com/
    sábado, 22 de enero de 2011 0:54
  • Hace un tiempo desarrolle un manejador de interfaces(pantallas del menu), esta bien ordenado y es fasil de utilizar quisas te sirva.

    El manejo de tu menu es con mouse o Teclado?

     


    Si la respuesta fue de utilidad por favor vote. Tec. Agustin Rosso http://www.bfxstudio.net
    viernes, 28 de enero de 2011 12:11