2016-08-19 3 views
0

no idea what's wrongPygame - Pygame hält mehr Sprites Zeichnung nach ihnen

bewegt wird mir den vollständigen Code nicht zulassen, veröffentlichen, durchsucht diese Website und Google, fand aber keine Antworten ...

DISPLAYSURF=pygame.display.set_mode((width,height),0,32) 

sprite=pygame.image.load('generic_legionnary.png' 

def move(direction, sprite, spritex, spritey): 
    if direction: 
     if direction == K_UP: 
      spritey-=5 
      sprite=pygame.image.load('generic_legionnary.png') 
     elif direction == K_DOWN: 
      spritey+=5 
      sprite=pygame.image.load('generic_legionnary.png') 
     if direction == K_LEFT: 
      spritex-=5 
      sprite=pygame.image.load('generic_legionnary.png') 
     elif direction == K_RIGHT: 
      spritex+=5 
      sprite=pygame.image.load('generic_legionnary.png') 
    return sprite, spritex, spritey 

while True: 

    DISPLAYSURF.blit(sprite,(spritex,spritey)) 

I don Ich weiß nicht, was los ist, es bringt immer wieder neue Bilder, wenn ich mich bewege, wie kann ich sicherstellen, dass nur eine Zeichnung bewegt wird? danke!

Edit: löste es

screen.fill((255,255,255)) 

die Farbe Hintergrund setzt und das Tracing Sache

zu Beginn jeder Schleife

Antwort

0

Haben Sie klar Ihr Bildschirm verschwindet?

Warum laden Sie jedes Mal, wenn Sie sich bewegen, neue Sprites?

Wer braucht nur die eine vor der Funktion geladen, nicht die anderen.

Wenn Sie Ihren Bildschirm nicht in jeder Schleife löschen, erhalten Sie diese Ablaufverfolgung. (oder Ihre Ablaufverfolgung könnte die alten Sprites sein, die Sie überschrieben haben, aber normalerweise sollte der Garbage Collector sie loswerden.)