Pygame: Ganze Strasse als Hintergrund speichern - wie?

Hier werden alle anderen GUI-Toolkits sowie Spezial-Toolkits wie Spiele-Engines behandelt.
Antworten
Benutzeravatar
Don Polettone
User
Beiträge: 115
Registriert: Dienstag 23. November 2010, 20:26
Wohnort: Schweiz

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
Ich code, also bin ich.
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.
Benutzeravatar
Don Polettone
User
Beiträge: 115
Registriert: Dienstag 23. November 2010, 20:26
Wohnort: Schweiz

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
Ich code, also bin ich.
Antworten