Schüler1095: Spiel programmieren, Hintergrundbild

Beitrag lesen

Hi,

nur kurz, muss ins Bett, Schule :)

Was bedeutet eigentlich ausschneiden in deinem Fall? Es geht doch nur darum, den Teil des Bilds an die richtige Stelle des Screens zu bringen. Musst du da wirklich den Umweg über ein separates Bild gehen?

Ich habe ein sehr großes Hintergrundbild. Das könnte auch 3000 x 3000 Pixel groß sein. Aus diesem Bild "schneide" ich einen Teil aus, je nachdem, wo sich der Spieler befindet. Das mache ich mit getSubimage(). Dieses Bild hat die Größe des Viewports. Simpel das Bild verschieben geht nicht. Bzw. geht schon, aber dann kommen Performanceschwierigkeiten (Framerate geht runter, mit allen unschönen Dingen, die dazugehören.)

Ich habe jetzt die Kachelmethode angewendet. Das ist unglaublich schnell. Und das obwohl ich immer noch alles rendere, und nicht nur das sichtbare (Kacheln, die sich innerhalb des Viewports befinden bzw. diesen in irgendeiner Art und Weise tangieren)

Ich verstehe aber auch noch nicht so ganz, was du dann wann wie genau machst. Und woran du merkst dass die Performance hängt, denn du sagtest ja irgendwo, du musst das ganze noch bremsen.

Bremsen: mein Linux-Laptop ist alt, der ist nicht schnell. Aber eine Framerate von 50 bringt er, wenn alles gut optimiert ist. Mein Windows-Rechner ist neu, auf dem geht das Spiel natürlich shcneller, was  ungünstig ist. Deshalb bremsen (run-thread). Soll dort natürlich auch nur 50 FPS haben und nicht plötzlich 100 oder so.

Also Kachelmethode passt!
danke nochmals