Datei bzw. Klassenstrucktur für mehrere Level

  • Hi @all.


    Ich weiß nicht so richtig wie ich weiterkomme google hilft auch nicht.


    Ich habe einen BrickBreaker geschrieben. (bzw. Level1)
    So jetzt hätte ich gerne Level2.. 3..4 usw.


    Wenn ich mir das überlege, müsste ich ja für jedes Level nur die "GameView" also meine Render-Klasse neu schreiben.
    Also blöcke wo anders, mehr, andere Paramenter,.. usw.


    Aber wenn ich das mache also z.B. "GameView2" erstelle funktionieren aber alle Pointer nicht mehr in den anderen Klassen. (die ja auf GameView gehen)


    So.. muss ich jetzt wirklich für jedes Level alle klassen mit "neu anlegen" um in alle funktionen mit Pointer eine "2" und dann "3" usw zu machen?


    Es muss doch einen Weg geben die vorhanden Klassen zu benutzen?


    PS: ich bin kein "Erklär-Tallent" bei fragen bitte fragen :P .


    Danke.

  • Öhm, also normalerweise sollte das so aussehen, dass du dein Spiel hast, das stellt quasi den Kern der Sache dar. Und das kann Daten für ein Level in nem bestimmten Format (das du dir selbst ausdenken kannst/musst) laden. Das geht am einfachsten, wenn du deine Level-Klasse als Java Serializable machst.
    Du musst also deine GameView tatsächlich etwas umschreiben, aber so, dass du alles was spezifisch für Level 1 ist davon trennst und in ne eigene Klasse auslagerst. Im GameView sind dann nur noch Funktionen, um ein beliebiges Level zu starten.


    (das is auch nicht die optimale Struktur für ein Videospiel, da der GameView stark mit der Grafik zusammenhängt und dem entsprechend eig. nur die Grafik beinhalten sollte. Die Logik sollte optimalerweise nochmal in ner eigenen Klasse sein)

  • Aha-Effekt! :D
    OK auslagern ist natürlich viel schöner..
    Habe alle Klassen allg. gehalten.. aber in diversen Tuts haben alle immer alles im GameView immer gleich fest an die richtige Stelle gezeichnet... daher kam ich auf den Trichter das dass die richtige vorgehensweise ist.


    Gut das mir das alles bei den ersten "Test-apps" nach und nach auffällt. An so einem Schmarren ist eben learning-by-doing schuld. Ist leider trotzdem meine bevorzugte Lernmethode.


    THX!

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!