Ich habe ein Spiel mit einem Hintergrund aus Fliesen, einige sind statisch (Gras, Schlamm), aber ich möchte, dass Wasser fließt. Ich habe eine Oberfläche namens Wasser erstellt, dann habe ich eine Schleife, die durch eine Reihe von 10 PNG für die Rahmen des fließenden Wassers iteriert. Ich möchte dann diese Oberfläche 10x so oft wie den Rest des Spiels aktualisieren und es mit den anderen Objekten bei 30fps zur Hauptoberfläche blit.Aktualisieren Sie eine Oberfläche in Pygame
aber alles, was ich erreichen kann, ist keine Bewegung oder das Wasser mit wahnsinniger Geschwindigkeit fließt (durch die gesamte Anzeige im Wasser Update Schleife zu aktualisieren.)
ist es eine Möglichkeit, ich nur diese Oberfläche aktualisieren?
hier ist mein Code:
#mud, grass and surface are defined earlier.
water = pygame.Surface((100,100))
#create mud tiles
for x in range(0,800,100):
for y in range(0, 500, 100):
screen.blit(mud,(x,y))
#create grass tiles
for x in range(400, 800, 100):
for y in range(0, 300, 100):
screen.blit(grass,(x,y))
#create filenames
for x in range(1,11):
if x < 10:
filename = "images\water\water1000" + str(x) + ".png "
else:
filename = "images\water\water100" + str(x) + ".png "
waterimg = pygame.image.load(filename)
#add to a surface, then tile the surface onto the game.
water.blit(waterimg,(0,0))
for x in range(100, 200, 100):
for y in range(0, 500, 100):
screen.blit(water, (x,y))
pygame.display.flip() #makes it update crazily. removing this line makes it not update at all.
allsprites.draw(screen)
pygame.display.flip()
scheint ziemlich gut, Prost akzeptiert, denn auch wenn ich es nicht zur Arbeit bekomme, verstehe ich jetzt das Konzept viel besser. eine Frage: Wie bekomme ich die Tick-Variable? Ich habe keine Zeichnungsmethode, nur eine Endlosschleife: während 1: clock.tick (30) #handle Eingaben und alles zeichnen – espekia
Um den Tick zu verfolgen, setzen Sie Tick = 0, bevor Sie die Schleife eingeben , und setze tick + = 1, nachdem du flip() aufgerufen hast. – Krendil
hey, das hat total funktioniert = D danke ein ganzer Haufen! – espekia