我正在使用pygame并且我正在尝试显示我在油漆中制作的汽车,当我尝试使用它时,我得到以下关于我为汽车设置的宽度的错误。帮我解决一下。
文件 " C:\用户\ perfe \应用程序数据\本地\程序\的Python \ Python36-32 \ game.py&#34 ;, 第16行,在 x =(display_width * 0.1) NameError:name' display_width'未定义
我的pygame代码是这个
import pygame
pygame.init()
gameDisplay = pygame.display.set_mode((800,600))
pygame.display.set_caption("Hi There")
clock = pygame.time.Clock()
carImg = pygame.image.load("mycar.png")
def car(x,y):
gameDisplay.blit(carImg, (x,y))
x = (display_width * 0.1)
y = (display_height * 0.3)
x_change = 0
crashed = False
while not crashed:
for event in pygame.event.get():
if event.type == pygame.QUIT:
crashed = True
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
x_change = -5
elif event.key == pygame.K_RIGHT:
x_change = 5
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
x_change = 0
x += x_change
gameDisplay.fill(white)
car(x,y)
pygame.display.update()
clock.tick(60)
pygame.quit()
quit()
答案 0 :(得分:0)
由于错误说display_width
未定义。在使用之前,您需要为此变量赋值。同样,您还需要为display_height
分配一个值。
您可以进行以下更改以修复错误,并在以后更轻松地更改高度和宽度
display_width = 800
display_height = 600
...
gameDisplay = pygame.display.set_mode((display_width, display_height))
...
x = (display_width * 0.1)
y = (display_height * 0.3)
...
答案 1 :(得分:0)
您的程序中似乎没有定义display_width
或display_height
。我建议像这样在顶部定义它们。
display_width = 800
display_height = 600
然后你也可以在调用pygame.display.set_mode