所以我浏览了网站,其他人试图找出为什么我的箭头键在尝试在pygame中移动我的数字时似乎没有被识别出来。我尝试过几次修复,但没有运气。当我按下箭头键时,我看到我的光标在终端中移动,但它在我的游戏窗口中没有任何作用(即使我确保游戏窗口是活动窗口)。当我打印事件语句时,只显示鼠标被识别。
import pygame
pygame.init()
black = (0, 0, 0)
white = (255, 255, 255)
display_width = 800
display_height = 600
gameDisplay = pygame.display.set_mode((display_width, display_height))
pygame.display.set_caption('A bit Racey')
clock = pygame.time.Clock()
crashed = False
carImg = pygame.image.load('racecar.png')
def car(x, y):
gameDisplay.blit(carImg, (x, y))
x = (display_width * 0.45)
y = (display_height * 0.8)
x_change = 0
car_speed = 0
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:
x_change = -5
elif event.key == pygame.K_RIGHT:
x_change = 5
if event.type == pygame.KEYUP:
if event.key == pygame.K_LEFT or event.key == pygame.K_RIGHT:
x_change = 0
x += x_change
gameDisplay.fill(white)
car(x, y)
clock.tick(60)
pygame.display.update()
pygame.quit()
quit()
我看到窗口上有我的"赛车"很好,我只是无法移动。 的 修改 关于"事件的答案"拼写错误没有解决问题(我在尝试20个左右的不同变体中的一个时犯了错误,我为这个错误道歉)。无论编辑的代码仍然不允许我移动汽车。即使游戏显示是活动窗口,光标也会在控制台中移动。
答案 0 :(得分:1)
您的代码甚至无法正常工作。
在控制台中运行它,你会看到
Traceback (most recent call last):
File "<pyshell#1>", line 26, in <module>
for event in pygame.events.get():
AttributeError: module 'pygame' has no attribute 'events'
中有拼写错误
for event in pygame.events.get():
event
s
pygame.event.get():
之后代码没有问题,我可以移动对象。
似乎你提出了错误的代码。或者你运行错误的代码。