Seite 1 von 1

Pygame: Ganze Strasse als Hintergrund speichern - wie?

Verfasst: Sonntag 9. Januar 2011, 00:25
von Don Polettone
Hallo mal wieder,

mein Kartengenerator für TD Games ist nun soweit am Start und ich habe dazu ein Modul gebastelt, das zufällige Karten rechnet und dem Generator übergibt, welcher diese dann baut mit dem entsprechenden Tileset. Dabei kommt z.Bsp. sowas raus:

Bild

Nun wäre ich langsam soweit, dass ich gerne ein paar Gegner durch die Strasse schicken möchte, damit TD - Feeling aufkommt. Die Sache ist aber, dass ich dazu die gezeichnete Karte immer als ein Hintergrundbild auf den Bildschirm blitten müsste, und das jedes Frame. Dann kommen die Creeps.

Leider weiss ich aber nicht, wie ich meine Karte als ein Bild abbilden kann, um diese als ganzes anzuzeigen. Diese Karte besteht ja aus vielen einzelnen, zum Teil auch gedrehten Grafiken. Weiss jemand, mit welchem Pygame-Modul man das anstellen kann? Ich hab zwar die Dok angeschaut, aber habe nichts gefunden...

es hofft,


Henry

Re: Pygame: Ganze Strasse als Hintergrund speichern - wie?

Verfasst: Sonntag 9. Januar 2011, 01:17
von BlackJack
@Henry Jones Jr.: Ich verstehe glaube ich das Problem nicht. Du lädst die Einzelteile doch als Surfaces und blittest diese auf ein anderes, grösseres Surface. Und dieses grosse Surface kannst Du doch auch *wieder* auf andere Surfaces blitten.

Wahrscheinlich blittest Du die Strassenteile direkt auf das "Display"-Surface -- stattdessen könntest Du auch auf ein weiteres Surface blitten und dass dann immer auf das "Display"-Surface blitten. Oder auch nur einmal und statt für jeden neuen Frame immer den ganzen Hintergrund neu zu blitten, nur die Teile die im Frame davor von Spielergrafiken überschrieben wurden.

Re: Pygame: Ganze Strasse als Hintergrund speichern - wie?

Verfasst: Sonntag 9. Januar 2011, 01:42
von Don Polettone
cool, danke!

Ja, genau da lag das Problem - ich hab' direkt auf bildschirm geblittet ("bildschirm" ist mein Display).

Logo: hintergrund = pygame.Surface(AUFLOESUNG)

dann die Strasse erst auf hintergrund und erst dann aufs Display blitten. Alles klar, danke!

Gruss,


Henry