Strukturen till mitt java spel

Permalänk
Medlem

Strukturen till mitt java spel

Har börjat koda mitt första spel (2d rymdspel) i java och skulle behöva lite input på hur ja ska strukturera saker så det blir på bästa sätt. såhär ser det ut nu:

Main:
Skapar Gameframe i en tråd.

GameFrame:
själva frame/panelen/canvas.
har en lista med alla SpaceObject
kör en loop med lite timers, en render och en update metod.
update går igenom arrayen och ber alla objekt uppdatera koordinater
render går igenom arrayen och ber alla objekt rita ut sig med det grafiska objektet ja skickar med.

SpaceObject:
Spaceobject är en abstrakt klass för alla objekt i spelet. innehåller dess koordinater, hastighet, hur dom ser ut, metod för att rita ut sig med det grafiska objektet. metod för uppdatera koordinater.

Som det ser ut nu har kan man åka runt med sitt skepp, skjuta, och kollisioner kan upptäckas (kollision metoden ligger tillfälligt(?) i GameFrame klassen i update).
Det är nu när själva logiken ska in, vad som händer när man krockar, variabler för antal liv, vilken level man är på osv..

Behöver hjälp med vart jag ska placera det här. det känns inte så fint att trycka in allt i min GameFrame som jag har börjat med nu. Känns som jag borde skapa en ny GameLogic klass, och flytta over allt från min update metod i GameFrame dit.

Har ni nå bra tips på hur jag ska fortsätta strukturera mitt spel? säkerligen saker jag inte tänkt på.

Permalänk
Medlem

Tycker det ser ut som du är på god väg redan. Det jag kommer att tänka på är en ny klass med namnet GameState för att hålla den infon du vill hålla reda på. Det kanske även kan vara vettigt att ha en klass i stil med GameRules som håller din logik.

Visa signatur

CPU: Intel Xeon E5-2620v3 (6x2.4 GHz) RAM: 16GB (4x4GB) 2133 MHz DDR4 ECC
GPU: EVGA GeForce GTX 970 4GB Chassi: Dell Precision Tower 7910, 1300W (v2)

Permalänk
Medlem

Blir nog så att jag skapar en ny klass från GameFrame där ja skickar med SpaceObject arrayn och input objektet. så får den nya klassen stå för att skapa alla objekt och all logik.

Permalänk
Medlem

Att kontrollera kollisioner gör du nog bäst i din update funktion när du vet positioner med mera

Visa signatur

Dator: (Kommer senare)