Python pygame blit-Funktion

Wenn ich die blit Funktion verwende, löscht es nicht das vorherige geladene Sprite, um Sprites zu bewegen, bis ich die Funktion "display.fill (bgcolor)" aufrufe. Das Problem ist, dass ich einen mehrfarbigen Hintergrund habe. Also wie aktualisiere ich das bild ohne meinen hintergrund zu beeinflussen HINWEIS – bereits versucht "pygame.display.update ()" und "pygame.display.flip ()" – es hilft nicht 🙁

 class states(): def __init__(self, goku1,goku2, x, y): self.image=goku1 keys=pygame.key.get_pressed() if keys[K_RIGHT]: self.image=goku2 if keys[K_LEFT]: self.image=goku2 while True: pygame.display.flip() pygame.display.update() obj=states(goku1, goku2, x, y) call=position() DISPLAYSURF.blit(obj.image, (x, y)) 

Bin für lange fest 🙁

  • Pygame - Sprite Bewegung verursacht Schichten
  • Pygame sprite nicht bewegend
  • PYGAME macht einen Sprite in die Richtung, in die er steht
  • Außerhalb des Gedächtnisses bei der Verwendung von pygame.transform.rotate
  • Verschieben Sie ein Objekt alle paar Sekunden in Pygame
  • Pyglet: Sprite.draw () und Batch.draw () funktionieren nicht, aber Image.blit tut
  • Kann nicht ausziehen () sprites in pyglet
  • Wie benutzt man Sprite Collide in Pygame
  • 2 Solutions collect form web for “Python pygame blit-Funktion”

    Sie würden den Hintergrund zuerst schlagen und dann den neuen Platz für das Sprite, das sich bewegt, So würde es so aussehen:

     window= pygame.display.set_mode(WINDOWSIZE, 0, 32) while True: #update events window.blit(your_multi_colored_background, (0, 0)) window.blit(obj.image, (x, y)) pygame.display.update() 

    Hoffe das hilft.

    Blit niemals das vorherige Element löschen – es kann nicht – alle blitted Elemente erstellen eine Bitmap.

    Du musst alle Elemente wieder in alle Schleife schlagen.

    Oder du musst einen Teil des Hintergrundes behalten, bevor du Spritzen verspuckst und ihn später benutzt, um diesen Teil anstelle von Sprite zu schlagen, um ihn zu entfernen.

    Sie können auch pygame.display.update() mit Argumenten verwenden, um nur einige Teile des Hintergrunds zu pygame.display.update() .

    Python ist die beste Programmiersprache der Welt.