没有定义Display_Width的pygame错误

时间:2018-06-11 21:53:44

标签: python pygame

我正在使用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()

2 个答案:

答案 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_widthdisplay_height。我建议像这样在顶部定义它们。

display_width = 800
display_height = 600

然后你也可以在调用pygame.display.set_mode

时使用这些变量