我正在尝试制作一个 2 人赛车游戏,当我尝试添加 event.key == pygame.K_LEFT
时,它说 AttributeError: 'Event' object has没有属性“键”
。
我已经尝试了很多方法,比如添加 ()
,但没有解决它,我对此一无所知。
代码:
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
错误信息:
RESTART: C:\Users\Osamas\Desktop\U-racing multiplayer\U-racing multiplayer.py
Traceback (most recent call last):
File "C:\Users\Osamas\Desktop\U-racing multiplayer\U-racing multiplayer.py", line 44, in <module>
elif event.key == pygame.K_RIGHT:
AttributeError: 'Event' object has no attribute 'key'
最佳答案
if event.type == pygame.KEYDOWN:
if event.key == pygame.K_LEFT:
xone_change = -5
elif event.key == pygame.K_RIGHT: #indented to be part of the keydown events
xone_change = 5
你想要这个。你的缩进是错误的。
您有 elif event.key == pygame.K_RIGHT:
检查您的 event.type,如果您考虑一下,这是没有意义的。
关于python - 我正在尝试使用 pygame 和 event.key 制作一个 2 人赛车游戏。key 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39706164/