我正在尝试使用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()***
答案 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(...)