Das Image wird geladen - insoweit ist Deine Frage schon berechtigt.
Aber es handelt sich um eine Hintergrundgrafik für einen windowedScreen.
Da komme noch ein paar Sonderschritte zu, die ein direktes Laden in ein Sprite eher nicht so einfache machen.
1) Das Image wird geladen
2) Das Image wird resized (falls ein nicht passendes Hintergrundbild im Verzeichnis liegt)
3) Das Image wird auf den Screen gezeichnet
4) Dann wird das gezeichente Image in 4 Sprites gegrabbed.
Warum 4 Sprites? Ich möchte, daß der Hintergrund auch auf alten Grakas dargestellt wird. Wir hatten letztens ja die Erkenntnis, daß man dafür Sprites mit einer Kantenlänge von einem Vielfachen von 2 benötigt. Ansonsten kommt da Grafikmüll raus.
Ich "fotografiere" also 4
überlappende Bereiche des Images ab und packe sie in 4 Sprites mit vordefinierter Größe (384 x 480 pixel)
ungefähr so...
Code: Alles auswählen
+-------+-+--------+
| : : |
| : : |
+.......+.+........+
+.......+.+........+
| : : |
| : : |
+-------+-+--------+
Wenn ich das Image direkt in ein Sprite kopieren könnte, würde ich das auch vier mal machen und dann die Sprites entsprechend croppen.
Aber egal... so gehts auch. Da ich als Zeichenfläche eh den Bereich nutze, auf dem das Bild im Spiel später hingepappt wird, fällt es dem User auch gar nicht auf.
Wäre aber manchmal bestimmt doch nützlich wenn man ein Image "unsichtbar" in ein Sprite wandeln könnte.
Gruß Markus
PS: Den Hintergrund (also das Image) in jedem Frame per DrawImage darzustellen statt per Sprites ist leider viel zu langsam.