我开始pygame,我遇到了问题。 我的代码是:
for event in pygame.event.get():
print(event)
我得到了这个
<Event(4-MouseMotion {'rel': (1, 0), 'buttons': (0, 0, 0), 'pos': (92, 366)})>
有人可以让我知道如何在rel之后获得两个数字(1,0)? 我试过了:
real = event.rel
x = real[0]
y = real[1]
我只想要在rel之后的数字,它应该不会太难但我无法得到它。
是的,我忘了说...我的问题是,它一直在告诉我AttributeError: 'Event' object has no attribute 'rel'
答案 0 :(得分:1)
我认为你的问题是你没有检查事件的类型。并非每个事件都具有所有可能的属性只有MOUSEMOTION
和JOYBALLMOTION
个事件具有rel
属性。
有关完整列表,请参阅documentation。
您的代码应如下所示:
for e in pygame.event.get():
# check the type of the event before accessing .rel
# otherwise an exception will be raised
if e.type == pygame.MOUSEMOTION:
x, y = e.rel
# now do something with x and y
答案 1 :(得分:-1)
if event.type == pygame.MOUSEMOTION: # check for mousemotion event
if event.buttons[0]: # check for left button down
if event.rel[1] >0 (or whatever) : # get the rel[1]
您可以使用event.rel[0]
或event.rel[1]
来接受他们。