Как удалить предыдущий прямоугольник, созданный с помощью pygame.draw.rect и имеющий изображение в качестве фона - PullRequest
2 голосов
/ 03 августа 2020

В поисках решения моей проблемы я увидел, что некоторые люди столкнулись с той же проблемой, что и я, и решение заключалось в отображении фона в начале 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()
   

Я не поместил весь свой код, но на самом деле прямоугольник перемещается вместе со спрайтом, но все еще могу видеть предыдущую полосу здоровья (прямоугольники), даже обновляя экран . Нет ни одной ошибки при запуске скрипта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...