我正在尝试制作一个2人赛车游戏,当我试图添加event.key == pygame.K_LEFT
时,它显示AttributeError: 'Event' object has no attribute 'key'
。在
我尝试过很多添加()
的方法,但是没有任何方法修复它,我也没有任何线索。在
代码:
import pygame
pygame.init()
display_width = 1280
display_height = 720
black = (0, 0, 0)
white = (255, 255, 255)
red = (255, 0, 0)
green = (0, 255, 0)
blue = (0, 0, 255)
gameDisplay = pygame.display.set_mode((display_width, display_height))
pygame.display.set_caption('U-race multiplayer')
clock = pygame.time.Clock()
car1 = pygame.image.load('car1.png')
def carone(xone, yone):
gameDisplay.blit(car1,(xone, yone))
xone = (display_width * 0.48)
yone = (display_height * 0.8)
xone_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:
xone_change = -5
elif event.key == pygame.K_RIGHT:
xone_change = 5
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
xone_change = 0
错误消息:
^{pr2}$
你想要这个。你的压痕错了。在
您已经
elif event.key == pygame.K_RIGHT:
检查了您的事件.类型如果你仔细想想,那就没什么意义了。在出现错误的原因是不同的事件具有不同的属性。{a1}您可以在^ a1事件中检查哪些属性。在
让我们以两种类型的事件为例:
这意味着我们不能检查事件中的键属性,除非我们确定事件是
KEYDOWN
(或KEYUP
)类型。在在您的代码中,您有:
如果事件类型不是}或{}的事件,则会引发属性错误。在
KEYDOWN
,那么您正在检查事件的key属性,如果事件的类型是QUIT
,MOUSEBUTTONDOWN
或任何其他不是{为了纠正这一点,您将按照MooingRawr的回答进行操作,并确保在第一个if语句中缩进了最后两行。我只是想知道为什么错了。在
相关问题 更多 >
编程相关推荐