/ / Защо спрайт изображението мига / плаче? - python, pygame

Защо изображението на sprite мига / филтрира? - питън, пигам

Как мога да попреча на спрайт изображението да трепне неконтролируемо? (името на изображението е водопроводчици). когато стартирате програмата, единственото трептене на изображението е спрайт.

import pygame
import os, sys
import itertools
import pygame
from pygame.sprite import Sprite

cloud_background = pygame.image.load("clouds.bmp")
brick_tile = pygame.image.load("brick_tile.png")
plumbers = pygame.image.load("Mario_sideways_sprite_2xL.png")

pink = (255, 64, 64)
w = 640
h = 480
screen = pygame.display.set_mode((w, h))
running = 1

def setup_background():
screen.fill((pink))
screen.blit(cloud_background,(0,0))
brick_width, brick_height = brick_tile.get_width(), brick_tile.get_height()
for x,y in itertools.product(range(0,640,brick_width),
range(390,480,brick_height)):
# print(x,y)
screen.blit(brick_tile, (x,y))


def show_sprites():
screen.blit(plumbers,(50,337))
pygame.display.flip()



while running:
show_sprites()
setup_background()
pygame.display.flip()
event = pygame.event.poll()
if event.type == pygame.QUIT: sys.exit()

Отговори:

0 за отговор № 1

Аз наистина не знам пигама, но докато чакате отговор от някой с повече опит в тази област. Мога да ви предложа този съвет, който може да помогне.

Вашата настройка на фона от нулата всякавреме, което е интензивен процесор. Най-добрият подход е вместо това в действителност само да възстановите отново частта от необходимия фон. I.e частите, където преди това е заемал вашия водопроводчик.

Обикновено правите това, като създавате две променливи, наречени стар X, стар Y. Този процес на изобразяване се изразходва.

В момента рендерирайте целия екран на всеки цикъл.