Hallo zusammen,
Ich bin gerade neu hier im Forum, sollte ich also was falsch machen oder im falschen Bereich posten, merkt es einfach an.
Ich bin derzeit dabei, ein Side-Scrolling Spiel ähnlich zu Terraria zu programmieren.
Ich benutze dazu JavaFX.
Da die Spielwelt in der Breite unendlich sein soll, dachte ich, wäre es am sinnvollsten, sie in CHunks aufzuteilen, die dann nach Bedarf nachgeladen werden.
Die Chunks sind 2D-Arrays, welche mit ganzen Zahlen gefüllt werden und dann ausgelesen werden. DIe Zahlen entsprechen dann jeweils einem Blocktyp, welcher dann gezeichnet wird.
Der Spieler liegt auf einer Zeichenebene über der Weltebene und wird immer mittig gezeichnet.
Bewegt sich der Spieler, so rutscht also die Welt unter ihm weg.
Ein Chunk ist 256 Blöcke hoch und 50 Blöcke breit (ein Block = 16x16 Pixel). Das Anzeigefenster ist zunächst fix eingestellt auf 800x800 Pixel.
Jetzt hänge ich an der Frage fest, wie ich den Teil des Chunks berechne, der gezeichnet werden soll, also quasi ab welchem Index die Zeichenfunktion anfangen soll das Array auszulesen und zu zeichnen.
Und wie lasse ich dann noch wenn ich mich bspw. 8px nach links bewege nur einen 8px breiten Teil des links neu generierten Chunks zeichnen?
Ich hoffe ihr versteht ungefähr, worauf ich hinausmöchte.
Vielen Dank schon mal im Voraus,
IWillTry
Ich bin gerade neu hier im Forum, sollte ich also was falsch machen oder im falschen Bereich posten, merkt es einfach an.
Ich bin derzeit dabei, ein Side-Scrolling Spiel ähnlich zu Terraria zu programmieren.
Ich benutze dazu JavaFX.
Da die Spielwelt in der Breite unendlich sein soll, dachte ich, wäre es am sinnvollsten, sie in CHunks aufzuteilen, die dann nach Bedarf nachgeladen werden.
Die Chunks sind 2D-Arrays, welche mit ganzen Zahlen gefüllt werden und dann ausgelesen werden. DIe Zahlen entsprechen dann jeweils einem Blocktyp, welcher dann gezeichnet wird.
Der Spieler liegt auf einer Zeichenebene über der Weltebene und wird immer mittig gezeichnet.
Bewegt sich der Spieler, so rutscht also die Welt unter ihm weg.
Ein Chunk ist 256 Blöcke hoch und 50 Blöcke breit (ein Block = 16x16 Pixel). Das Anzeigefenster ist zunächst fix eingestellt auf 800x800 Pixel.
Jetzt hänge ich an der Frage fest, wie ich den Teil des Chunks berechne, der gezeichnet werden soll, also quasi ab welchem Index die Zeichenfunktion anfangen soll das Array auszulesen und zu zeichnen.
Und wie lasse ich dann noch wenn ich mich bspw. 8px nach links bewege nur einen 8px breiten Teil des links neu generierten Chunks zeichnen?
Ich hoffe ihr versteht ungefähr, worauf ich hinausmöchte.
Vielen Dank schon mal im Voraus,
IWillTry