GrabSprite über Screenbereich / Sprites zusammenfügen
Verfasst: 11.12.2006 17:53
Hallo!
Momentan probiere ich mich an einem 2D-Jump'n'Run, bin jedoch auf Probleme gestoßen.
Das Spiel läuft in 640x480 Vollbildmodus.
Das Level wird zuerst aus 16x16-Tile-Sprites zusammengesetzt und anschließend als ein Sprite gegrabbt. Dadurch erhoffe ich mir eine bessere Performance, da fortan immer nur das einzelne Levelsprite angezeigt werden muss und ich keine For-Schleifen-Durchläufe für die Darstellungen einzelner Tiles mehr brauche. (Kollisionsprüfung ist auch einfacher.)
Es passen also 40x30 der Tiles auf eine Screenbreite, da ein Level aber etwas größer sein sollte, ließ ich quasi 80x30 Tiles darstellen. Laut Handbuch werden diese ja dargestellt, nur außerhalb des angezeigten Bereichs, also nicht angezeigt.
Wo wir beim ersten Problem wären: Möchte ich das ganze Level mit den Maßen 1280x480 grabben, also die 80x30 Tiles, wobei der Screen nur 640x480 misst, kommt es zu Fehlern im gegrabbten Sprite.
Warum ist das so und gibt es eine Möglichkeit, dies zu umgehen?
Eine Möglichkeit dazu hätte ich mir schon überlegt: Jeweils immer eine Screenbreite grabben, also mehrmals die 40x30 Tiles, und die einzelnen gegrabbten Sprites dann als eines zusammenfügen.
Doch hier weiß ich wiederum nicht, wie ich das (Zusammenfügen) bewerkstelligen soll. Habt ihr Vorschläge?
Das Zusammenfügen halte ich nämlich für nicht unwichtig, es erleichtert mir doch den Algorithmus zur Kollisionsprüfung, da es mit einem Sprite einfacher ist, als mit z.B. 10.
Alternativ könnte ich auch das Level von vornherein als ein einziges Bild erstellen und als Sprite laden. Das ist allerdings, ohne duften Leveleditor, den ich dann zu schreiben versuchen müsste, weniger komfortabel, als einfach die Data Section zu editieren. :)
Ich bin für jeden Tipp dankbar!
Momentan probiere ich mich an einem 2D-Jump'n'Run, bin jedoch auf Probleme gestoßen.
Das Spiel läuft in 640x480 Vollbildmodus.
Das Level wird zuerst aus 16x16-Tile-Sprites zusammengesetzt und anschließend als ein Sprite gegrabbt. Dadurch erhoffe ich mir eine bessere Performance, da fortan immer nur das einzelne Levelsprite angezeigt werden muss und ich keine For-Schleifen-Durchläufe für die Darstellungen einzelner Tiles mehr brauche. (Kollisionsprüfung ist auch einfacher.)
Es passen also 40x30 der Tiles auf eine Screenbreite, da ein Level aber etwas größer sein sollte, ließ ich quasi 80x30 Tiles darstellen. Laut Handbuch werden diese ja dargestellt, nur außerhalb des angezeigten Bereichs, also nicht angezeigt.
Wo wir beim ersten Problem wären: Möchte ich das ganze Level mit den Maßen 1280x480 grabben, also die 80x30 Tiles, wobei der Screen nur 640x480 misst, kommt es zu Fehlern im gegrabbten Sprite.
Warum ist das so und gibt es eine Möglichkeit, dies zu umgehen?
Eine Möglichkeit dazu hätte ich mir schon überlegt: Jeweils immer eine Screenbreite grabben, also mehrmals die 40x30 Tiles, und die einzelnen gegrabbten Sprites dann als eines zusammenfügen.
Doch hier weiß ich wiederum nicht, wie ich das (Zusammenfügen) bewerkstelligen soll. Habt ihr Vorschläge?
Das Zusammenfügen halte ich nämlich für nicht unwichtig, es erleichtert mir doch den Algorithmus zur Kollisionsprüfung, da es mit einem Sprite einfacher ist, als mit z.B. 10.
Alternativ könnte ich auch das Level von vornherein als ein einziges Bild erstellen und als Sprite laden. Das ist allerdings, ohne duften Leveleditor, den ich dann zu schreiben versuchen müsste, weniger komfortabel, als einfach die Data Section zu editieren. :)
Ich bin für jeden Tipp dankbar!