Pygame come risolvere i “pixel finali”?

inserisci la descrizione dell'immagine qui

Nell’immagine la scia rossa è una scia che Pygame sta creando quando ho un rettangolo di delimitazione aggiunto attorno agli sprite. Lo sprite fa anche questo e la soluzione più semplice è stata quella di pulire la superficie in nero dopo ogni ridisegno. Tuttavia, tentare di farlo sull’intera superficie principale non è una buona idea. Come posso risolvere questo?

Basta avere un rettangolo nero e mescolare quel punto in cui si trovava il tuo sprite sul fotogramma precedente e questo dovrebbe liberarsene. Ricordati solo di fare questo prima di mescolare il tuo folletto o il tuo nuovo folletto sarà parzialmente oscurato.

Normalmente farai:

def draw(): # fill screen wwith solid color. #draw. and flip screen. 

Ma puoi aggiornare solo porzioni sporche dello schermo. Vedi: http://www.pygame.org/docs/ref/display.html#pygame.display.update

Ma con un codice più complesso, puoi usare RenderUpdates di RenderUpdates : http://www.pygame.org/docs/ref/sprite.html#pygame.sprite.RenderUpdates , che è uno Sprite.Group

Prendi il nome del tuo schermo. (Per il mio caso è schermo.) E …

 screen.fill(0,0,0) 

Mettilo prima del blit e dopo il disegno. (Sarebbe uno sfondo nero). Spero che questo aiuti!