我有一个错误:NameError:未定义名称'GameDisplay'

时间:2020-05-14 04:57:01

标签: python pygame

我正在尝试使用python在pycharm中制作游戏,但我有一个未定义的名称。我寻找有关如何解决此问题的信息,而我能找到的最佳解决方案是在第16行中将名称从gameDisplay更改为GameDisplay,但这根本没有帮助。以下是我收到的完整错误消息 。

Traceback (most recent call last):
  File "C:/Users/Zack's PC/AppData/Roaming/JetBrains/PyCharmCE2020.1/scratches/main1.py", line 30, in <module>
    car(x,y)
  File "C:/Users/Zack's PC/AppData/Roaming/JetBrains/PyCharmCE2020.1/scratches/main1.py", line 16, in car
    GameDisplay.blit(carImg,(x,y))
NameError: name 'GameDisplay' is not defined

Process finished with exit code 1

这是文件:

  ***import pygame
pygame.init()

display_width= 900
display_height=600
black= (0,0,0)
white= (255,255,255)
red= (255,0,0)


screen= pygame.display.set_mode((display_width,display_height))
pygame.display.set_caption('Race Car')
clock = pygame.time.Clock()
carImg = pygame.image.load('C:/Users/Zack\'s PC/Pictures/gameimages/racecarimage.png')
def car(x,y):
    gameDisplay.blit(carImg,(x,y)) 


x = (display_height * 0.45)
y = (display_width * 0.8)

crashed = False

while not crashed:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            crashed = True


    car(x,y)
    gameDisplay.fill(white)
    pygame.display.update()
    clock.tick(60)

pygame.quit()
quit()***

1 个答案:

答案 0 :(得分:1)

问题是您没有创建

gameDisplay = pygame.display.set_mode(...)

但是

screen = pygame.display.set_mode(...)

现在您必须使用screen而不是gameDisplay

screen.blit(...)

screen.fill(white)

或者您必须使用

gameDisplay = pygame.display.set_mode(...)

代替

screen = pygame.display.set_mode(...)