在网上找到此代码以使用pygame创建游戏-找不到错误如果有帮助,python版本在我正在使用的指南中较旧

问题描述

特定错误行

if event.type==pygame.MOUSEBUTTONDOWN:
NameError: name 'event' is not defined

方块:

position = pygame.mouse.get_pos()
angle = math.atan2(position[1]-(playerpos[1]+32),position[0]-(playerpos[0]+26))
playerrot = pygame.transform.rotate(player,360-angle*57.29)
playerpos1 = (playerpos[0]-playerrot.get_rect().width/2,playerpos[1]-playerrot.get_rect().height/2)
screen.blit(playerrot,playerpos1)
if event.type==pygame.MOUSEBUTTONDOWN:
        position=pygame.mouse.get_pos()
        acc[1]+=1
        arrows.append([math.atan2(position[1]-(playerpos1[1]+32),position[0]-(playerpos1[0]+26)),playerpos1[0]+32,playerpos1[1]+32])

我是新手,将不胜感激: 谢谢!

解决方法

我认为您缺少定义“事件”的行。

通常在pygame中,此行(实际上是您使用“事件”的任何行)

if event.type==pygame.MOUSEBUTTONDOWN:

在for循环中运行,其中'event'的定义如下:

# get all the events
for event in pygame.event.get():
    # do something with an event
    if event.type==pygame.MOUSEBUTTONDOWN: