Pregunta

Estoy desarrollando un juego de simulación de hospital de buen tamaño en Java. En este momento, mi método dolor está empezando a verse un poco grande, y necesito una manera de dividirlo en secciones diferentes ... Tengo una idea, pero no estoy seguro de si se trata de la mejor manera. Comienza pintando la hierba, entonces el edificio del hospital, entonces cualquier edificio, entonces la gente, entonces cualquier avances en la construcción de edificios. El edificio hierba y el hospital no va a cambiar, por lo que sólo tenga que pintar esta vez. Los edificios en sí no va a cambiar muy a menudo, sólo cuando los nuevos se construyeron.

Yo estaba pensando, utilizar valores booleanos para determinar qué secciones necesitan volver a pintar? Ideal, identificación como para ser capaz de dividir el método de pintura, y luego llamar a cada uno de ellos cuando sea necesario, pero estoy seguro de cómo dividir físicamente para arriba.

Estoy todavía bastante nuevo en java, y aprender sobre la marcha.

Gracias de antemano.

Rel

¿Fue útil?

Solución

Otra idea es crear un super clase o interfaz para todos los elementos que se deben dibujar en la pantalla. Permite cvall este ScreenObject clase. A continuación, puede tener un método especificado en la clase ScreenObject empate (Graphics2D g). A continuación, cada objeto que debe ser dibujado implementa el método draw () y sólo se preocupa sobre el dibujo en sí. Usted puede incluso considerar la creación de una variable que determina si este método sorteo se debe ejecutar en absoluto.

En la clase principal que pinta la pantalla puede tener una referencia a todos los objetos gráficos en un ArrayList y su método paint () simplemente iterar sobre este sorteo de llamada () de cada objeto.

Otros consejos

Estoy asumiendo desde su descripción que la escena se divide en las baldosas. Mantener una matriz de booleanos es una buena manera de hacer un seguimiento de las cuales las baldosas necesitan volver a dibujar en la próxima actualización. Un LinkedList podría llevar a cabo un poco mejor en algunas situaciones. (Estoy pensando en un juego de simulación de la vida donde hay un montón de fichas para redibujar y hay que comprobar cada vecino, por lo que no tenga que seguir este camino.)

Sin ver su código no puedo dar un consejo muy específica en dividir el método de pintura. Yo te puedo decir que en las animaciones de sprites, cada objeto Sprite normalmente tiene su propio método de dibujo que tiene el objetivo principal de gráficos (o, más probablemente, un tampón) como parámetro. Desde el sprite debe conocer su propia imagen y la ubicación, a continuación, puede dibujarse a sí mismo en la imagen principal. Su método de lata de pintura a continuación, sólo bucle a través de su lista de sprites que necesitan ser rediseñados y llamar a su método de sorteo.

Es posible mirar a Programación Killer juego en Java para obtener información más detallada.

Bueno, yo no soy realmente un experto en programación, pero para dividir mi método de pintura siempre he acaba de hacer un nuevo método que toma un objeto Graphics y llamar a que a partir de la pintura, que siempre me ha ayudado a mantener mi código organizada pero tengo nunca tuvo un gran proyecto como suena que está trabajando por lo que podría no funcionar para su situación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top