Domanda

Sto sviluppando un gioco giusto dimensioni simulazione ospedale in java. In questo momento, il mio metodo dolore inizia a sembrare un po 'grande, e ho bisogno di un modo per dividerlo in diverse sezioni ... Ho un'idea, ma non sono sicuro se questo è il modo migliore. Si inizia dipingendo l'erba, poi la costruzione dell'ospedale, allora qualsiasi edifici, allora la gente, allora qualsiasi anteprime di costruzione per la costruzione. L'edificio erba e l'ospedale non cambierà, quindi ho solo bisogno di dipingere questa volta. Gli edifici stessi non cambierà molto spesso, solo quando ne vengono costruiti.

Stavo pensando, utilizzare valori booleani per determinare quali sezioni devono riverniciatura? Ideale, id piace essere in grado di dividere il metodo paint, e quindi chiamare ognuno quando necessario, ma sono sicuri di come dividere fisicamente lo compongono.

Sono ancora abbastanza nuovo per Java, e l'apprendimento in movimento.

Grazie in anticipo.

Rel

È stato utile?

Soluzione

Un'altra idea è quella di creare una classe o un'interfaccia eccellente per tutti gli elementi che devono essere disegnati sullo schermo. Consente cvall questa classe ScreenObject. È quindi possibile avere un pareggio (Graphics2D g) metodo specificato nella classe ScreenObject. Successivamente, ogni oggetto che deve essere disegnato implementa il metodo draw () ed è solo preoccupato disegno stesso. Si può anche prendere in considerazione la creazione di una variabile che determina se questo metodo draw deve essere eseguito a tutti.

Nella classe principale che dipinge lo schermo si può avere un riferimento a tutte le ScreenObjects in un ArrayList e il vostro metodo paint () semplicemente iterare questa chiamata draw () su ogni oggetto.

Altri suggerimenti

Sto assumendo dalla descrizione che la scena contempla piastrelle. Mantenere una serie di booleani è un buon modo per tenere traccia di quali piastrelle bisogno ridisegnato il prossimo aggiornamento. Una LinkedList potrebbe eseguire un po 'meglio in alcune situazioni. (Sto pensando a un gioco di simulazione di vita in cui ci sono tonnellate di piastrelle per ridisegnare e avete bisogno di controllare ogni vicino di casa, in modo da non avere bisogno di seguire questa strada.)

Senza vedere il codice non posso dare consigli molto specifico sul dividere la vostra metodo paint. Io posso dire che nelle animazioni sprite, ogni oggetto sprite ha in genere un proprio metodo pareggio che prende l'oggetto principale Graphics (o più probabilmente un buffer) come parametro. Dal momento che lo sprite dovrebbe conoscere la propria immagine e la posizione, si può poi si disegnare nell'immagine principale. Il tuo metodo vernice può poi basta scorrere l'elenco dei folletti che hanno bisogno di essere ridisegnata e chiamare il loro metodo draw.

Si potrebbe guardare a Programmazione Killer gioco in Java per informazioni più dettagliate.

Beh, io non sono davvero un esperto di programmazione, ma per dividere il mio metodo paint Ive ha sempre e solo fatto un nuovo metodo che accetta un oggetto Graphics e chiamare che dalla pittura, mi ha sempre aiutato a mantenere il mio codice organizzato ma non ho non ha mai avuto un grande progetto come sembra si sta lavorando su quindi potrebbe non funzionare per la vostra situazione.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top