Hey Community,
ich programmiere nun schon etwas länger in Java und weiß noch nicht recht, wie die Aufteilung von beispielweise GUI und dem eigentlichen Programm läuft.
Ich programmiere im Moment eine Art Spiel für Android und habe dort eine Screen Klasse, wo die SurfaceView angelegt ist. Für das Spiel habe ich eine GameWorld Klasse geschrieben, welche als Objekt in der Screen Klasse vorhanden ist um Methoden wie render() und draw() nur einmal aus der GameWorld aufrufen zu müssen und nicht für jeden Gegenstand z.B Steine, Straße und Autos einzeln aufrufen zu müssen.
In der GameWorld Klasse sind dann einzelne Objekte von den Spielgegenständen im Spiel, in meinem Fall Autos vorhanden. Nun muss ich die Benutzereingaben wie z.B onTouch() aber in der Screen Klasse verarbeiten und habe nun den Umstand, dass ich irgendwie an die Autos kommen muss. Also habe ich in der GameWorld Klasse einen getter für die Autos erstellt, was ziemlich umständlich und verwirrend ist.
Sollte ich vielleicht alle Objekte in der Screen Klasse, wo auch die Benutzereingaben vorhanden sind erzeugen und dann der GameWorld Klasse übergeben oder wie mache ich das am besten?
Dann hätte ich noch eine Frage bezüglich der Grafiken im Spiel. Im Moment habe ich in der Auto Klasse selber die Grafiken als Objekte angelegt und biete die Methode draw() an, welche nur aufgerufen werden muss, um alles andere wie spawnen und löschen der Objekte kümmert sich die Auto Klasse. Das Problem was ich habe ist, dass ich das Spiel an die Grafiken anpasse, also z.B für jedes Auto X und Y Koordinaten verwenden muss. Werden die Grafiken getauscht, müssen auch viele Variablen in der Auto Klasse geändert werden. Das entspricht aber nicht der üblichen Trennung von Grafik und Engine, wie es im Internet überall steht.
Wie soll ich bei einem Spiel vorgehen?
Wäre sehr dankbar, wenn mir jemand diese Fragen beantworten könnte
grüße coco07!
ich programmiere nun schon etwas länger in Java und weiß noch nicht recht, wie die Aufteilung von beispielweise GUI und dem eigentlichen Programm läuft.
Ich programmiere im Moment eine Art Spiel für Android und habe dort eine Screen Klasse, wo die SurfaceView angelegt ist. Für das Spiel habe ich eine GameWorld Klasse geschrieben, welche als Objekt in der Screen Klasse vorhanden ist um Methoden wie render() und draw() nur einmal aus der GameWorld aufrufen zu müssen und nicht für jeden Gegenstand z.B Steine, Straße und Autos einzeln aufrufen zu müssen.
In der GameWorld Klasse sind dann einzelne Objekte von den Spielgegenständen im Spiel, in meinem Fall Autos vorhanden. Nun muss ich die Benutzereingaben wie z.B onTouch() aber in der Screen Klasse verarbeiten und habe nun den Umstand, dass ich irgendwie an die Autos kommen muss. Also habe ich in der GameWorld Klasse einen getter für die Autos erstellt, was ziemlich umständlich und verwirrend ist.
Sollte ich vielleicht alle Objekte in der Screen Klasse, wo auch die Benutzereingaben vorhanden sind erzeugen und dann der GameWorld Klasse übergeben oder wie mache ich das am besten?
Dann hätte ich noch eine Frage bezüglich der Grafiken im Spiel. Im Moment habe ich in der Auto Klasse selber die Grafiken als Objekte angelegt und biete die Methode draw() an, welche nur aufgerufen werden muss, um alles andere wie spawnen und löschen der Objekte kümmert sich die Auto Klasse. Das Problem was ich habe ist, dass ich das Spiel an die Grafiken anpasse, also z.B für jedes Auto X und Y Koordinaten verwenden muss. Werden die Grafiken getauscht, müssen auch viele Variablen in der Auto Klasse geändert werden. Das entspricht aber nicht der üblichen Trennung von Grafik und Engine, wie es im Internet überall steht.
Wie soll ich bei einem Spiel vorgehen?
Wäre sehr dankbar, wenn mir jemand diese Fragen beantworten könnte
grüße coco07!
Zuletzt bearbeitet: