首页 > 解决方案 > 如何删除使用 pygame.draw.rect 创建并以图片为背景的先前矩形

问题描述

搜索我的问题的解决方案,我看到有些人遇到了和我一样的问题,解决方案是在循环开始时显示背景,所以我们看不到以前的位置等。在我的情况下矩形代表我的 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()
   

我没有放我所有的代码,但实际上矩形随着精灵移动,但仍然可以看到以前的健康栏(矩形),甚至更新屏幕。运行脚本没有一个错误。

标签: pythonpygame

解决方案


推荐阅读