我在 Pygame 的分数系统一遍又一遍地重叠

My score system in Pygame overlaps over and over again

我在网上看了很多 YouTube 视频和信息,但似乎找不到答案。每次我 运行 代码时,文本都显示为零,但是当单击敌人以赚取积分时,数字 1 与零重叠并且不会改变。这个问题一遍又一遍地重复。 do/can 我做什么?我是 python 代码的新手,可能有一些不必要的代码,所以如果您看到菜鸟错误,请记住这一点,谢谢。

import pygame
import time
import random 
pygame.init()
from pygame.locals import *

white = (255,255,255)
window = pygame.display.set_mode((800,600))
pygame.display.set_caption("Extended Essay game")
BADGUY = pygame.image.load('enemy.png')
pygame.font.init()


#Enemy char
class Enemy():
   def __init__(self, x, y):
     self.x = x
     self.y = y


def main():
  run = True
  FPS = 60
  x = 0
  enemies = 0
  clock = pygame.time.Clock()
  font = pygame.font.Font('freesansbold.ttf', 32)
  window.fill((255,255,255))
  window.blit(BADGUY,(0,0))

  def update():
     text = font.render("Enemies: " + str(enemies), True, (0,0,0))
     window.blit(text, (200, 300))
     pygame.display.update() 

    
  while run:
     clock.tick(FPS)
        
     for event in pygame.event.get():
         if event.type == pygame.QUIT:
             run = False
         if event.type == pygame.MOUSEBUTTONDOWN:
             if event.button == 1:
                 window.blit(BADGUY, (random.randint(0, 700), random.randint(0 , 700)))
                 enemies += 1
                    
    update() 

main()

您需要先清空屏幕,然后再放上新东西。将其放在 update() 的开头或在循环中调用它之前:

window.fill((255, 255, 255))