我如何从pygame.event.get()中获得加速?

时间:2016-03-30 05:29:05

标签: python pygame

我开始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'

2 个答案:

答案 0 :(得分:1)

我认为你的问题是你没有检查事件的类型。并非每个事件都具有所有可能的属性只有MOUSEMOTIONJOYBALLMOTION个事件具有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]来接受他们。