在我的程序中,我试图用我的箭头键移动我的长方体。然而,它移动了,却留下了自己的复制品。我也在努力把健康栏移到上面。这是我的密码:
import pygame
from pygame.locals import *
pygame.init()
black = (0,0,0)
white = (255,255,255)
red = (255,0,0)
green = (0,255,0)
blue = (0,0,255)
yellow = (255,242,0)
darkBlue = (0,0,128)
size = winHeight,winWidth = (1350,668)
pygame.key.set_repeat(50,50)
x,y = 625,490
towerHealth = 1450
healthAdjusted = towerHealth / 10
screen = pygame.display.set_mode(size)
pygame.display.set_caption("Stormtroopers")
gameExit = False
while not gameExit:
for event in pygame.event.get():
if event.type == QUIT:
gameExit = True
if event.type == KEYDOWN:
if event.key == K_UP: y -= 5
if event.key == K_DOWN: y += 5
if event.key == K_LEFT: x -= 5
if event.key == K_RIGHT: x += 5
tower = [
pygame.draw.rect(screen,blue,(x,y,100,160)),
pygame.draw.rect(screen,darkBlue,(x,y,100,160),5),
pygame.draw.polygon(screen,blue,((x,y),(x + 50,y - 50),(x + 150,y - 50),(x + 100,y))),
pygame.draw.polygon(screen,darkBlue,((x,y),(x + 50,y - 50),(x + 150,y - 50),(x + 100,y)),5),
pygame.draw.polygon(screen,darkBlue,((x + 100,y),(x + 150,y - 50),(x + 150,y + 110),(x + 100,y + 160)))
]
healthBar = [
pygame.draw.rect(screen,white,(x,y - 80,150,15),5),
pygame.draw.rect(screen,red,(x + 3,y - 77,healthAdjusted,10))
]
if towerHealth <= 0:
gameExit = True
pygame.display.update()
pygame.quit()
quit()
请帮帮我
您需要通过在长方体上绘制背景来删除长方体的旧位置,否则最终会看到两个副本。Pygame不会自动删除每次更新时绘制的所有内容,您必须自己完成Here是一个教程。您可能还想在stackoverflow上签出this related question
相关问题 更多 >
编程相关推荐