Frage

Ich bin ein recht großes Krankenhaus-Simulationsspiel in Java zu entwickeln. Im Moment ist mein Schmerz Methode beginnen ein bisschen zu groß schauen, und ich brauche einen Weg, es zu teilen sich in verschiedene Abschnitte ... Ich habe eine Idee, aber ich bin nicht sicher, ob dies der beste Weg ist. Es beginnt mit dem Gras zu malen, dann ist das Krankenhausgebäude, werden alle Gebäude, dann werden die Menschen, dann Vorschauen alle Gebäude beim Bau. Das Gras und Krankenhausgebäude wird sich nicht ändern, also muss ich nur einmal malen. Die Gebäude selbst werden nicht sehr oft ändern, nur dann, wenn neue gebaut werden.

Ich dachte, Boolesche Werte verwenden, um zu bestimmen, welche Abschnitte neu zu streichen müssen? Ideal, id gerne in der Lage sein, die Farbe Methode aufzuteilen, und rufen Sie dann jeden, wenn nötig, aber ich bin nicht sicher, wie es physisch aufgeteilt werden.

Ich bin noch ganz neu in Java, und das Lernen auf dem Sprung.

Vielen Dank im Voraus.

Rel

War es hilfreich?

Lösung

Eine weitere Idee ist es, eine Super-Klasse oder Schnittstelle für alle Elemente zu erstellen, die auf dem Bildschirm gezeichnet werden müssen. Lets cvall dieser Klasse ScreenObject. Sie können dann ein Unentschieden (Graphics2D g) -Methode in der ScreenObject Klasse angegeben haben. Als nächstes wird jedes Objekt, das gezogen werden müssen, implementiert die Methode draw () und ist nur um sich selbst zu ziehen. Sie können auch prüfen, eine Variable zu schaffen, ob dieses Streck-Verfahren bestimmt, sollte überhaupt ausgeführt werden.

In der Hauptklasse, die den Bildschirm malt man einen Verweis auf alle ScreenObjects in einem Arraylist hat und Ihre Farbe () -Methode wird einfach iterieren dieser Berufung draw () für jedes Objekt.

Andere Tipps

Ich gehe davon aus Ihrer Beschreibung, die die Szene bis in Kacheln aufgeteilt. eine Reihe von booleans zu halten ist eine gute Möglichkeit, den Überblick zu behalten, welche Fliesen auf dem nächsten Update neu gezeichnet müssen. Ein LinkedList könnte ein wenig besser in einigen Situationen führen. (Ich denke an einem Spiel der Lebens-Simulation, wo es Tonnen von Fliesen neu zu zeichnen, und Sie müssen jeden Nachbarn überprüfen, so dass Sie nicht diesen Weg gehen müssen.)

Ohne Code zu sehen, kann ich nicht geben sehr spezifische Beratung über Aufspaltung Ihre Farbe Methode. Ich kann Ihnen in Sprite-Animationen, jedes Sprite-Objekt seine eigene Zeichenmethode hat typischerweise auf das Haupt Graphics-Objekt nimmt (oder eher einen Puffer) als Parameter sagt, dass. Da das Sprite sein eigenes Bild und den Ort kennen sollte, kann er dann selbst in die Haupt Bild zeichnen. Ihre Farbe Methode kann dann nur eine Schleife durch die Liste des Sprites, die neu gezeichnet werden müssen und rufen ihre Zeichenmethode.

Sie aussehen könnte auf Killer-Game Programming in Java für detailliertere Informationen.

Nun, ich bin nicht wirklich ein Experte bei der Programmierung, aber meine Farbe Methode aufzuzuteilen Ive immer nur ein neues Verfahren hergestellt, das ein Graphics-Objekt nimmt und rief, dass aus Farbe, es hat mir immer geholfen, mein Code organisiert zu halten, aber ich habe nie hatte ein großes Projekt wie es klingt Sie arbeiten, so dass es nicht für Ihre Situation funktionieren könnte.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top