В поисках решения моей проблемы я увидел, что некоторые люди столкнулись с той же проблемой, что и я, и решение заключалось в отображении фона в начале l oop, поэтому мы не видим предыдущую позицию et c .. В моем случае прямоугольник представляет шкалу здоровья персонажа в моей игре Python. Я пробовал screen.blit(background, [0,0])
или даже pygame.display.flip()
, и это, как ни странно, не решает проблему, я не знаю, что еще делать. Вот часть моего кода:
import os
import pygame
pygame.init()
screen = pygame.display.set_mode((885,500))
backgroundgame = pygame.image.load(os.path.join(image, 'background.jpg'))
def display():
screen.blit(backgroundgame, [0,0])
pygame.display.update()
def health_bar(health_player, health_ennemy):
screen.blit(backgroundgame, [0,0])
pygame.draw.rect(background, health_player, (x, y-20, 65, 8))
palying = True
while playing:
health_bar(health_player, health_ennemy)
display()
Я не поместил весь свой код, но на самом деле прямоугольник перемещается вместе со спрайтом, но все еще могу видеть предыдущую полосу здоровья (прямоугольники), даже обновляя экран . Нет ни одной ошибки при запуске скрипта.