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 🙁

  • Animiertes Sprite aus wenigen Bildern
  • Kann nicht ausziehen () sprites in pyglet
  • Wie kann man einen Feind dem Spieler in pygame folgen?
  • Wie benutzt man Sprite Collide in Pygame
  • Pygame - Sprite Bewegung verursacht Schichten
  • Wie füge ich eine Zeile als Sprite in Pygame hinzu?
  • Pygame macht ein Sprite Gesicht die Maus
  • Versuchen, über Sprite zu ziehen oder Bildpyglet zu wechseln
  • 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.