Python 如何在pygame中以未定义的方向检查mousemotion?

Python 如何在pygame中以未定义的方向检查mousemotion?,python,pygame,Python,Pygame,我想检查鼠标是否按照未定义的方向移动,如下所示: for event in pygame.event.get(): if event.type == pygame.MOUSEMOTION: "do something" 然后我要打印方向。有可能吗?你已经走到一半了: 类型为pygame.MOUSEMOTIONevent的事件具有pos成员。 您可以存储以前的pos,并计算差异方向。另一种可能是pygame.mouse.get\u rel(),它提供自上次调用此函数以来鼠

我想检查鼠标是否按照未定义的方向移动,如下所示:

for event in pygame.event.get():
    if event.type == pygame.MOUSEMOTION:
        "do something"
然后我要打印方向。有可能吗?

你已经走到一半了:

类型为
pygame.MOUSEMOTION
event的事件具有pos成员。
您可以存储以前的pos,并计算差异方向。

另一种可能是
pygame.mouse.get\u rel()
,它提供自上次调用此函数以来鼠标的移动量。这样可以避免存储以前的位置

简单的例子:

import sys, pygame,time

FPS=30
fpsClock=pygame.time.Clock()

screen = pygame.display.set_mode((650,650))
screen.fill(255,255,255)
done = False 

while not done:
    for event in pygame.event.get():
        if event.type == pygame.QUIT:
            sys.exit()
        if event.type == pygame.MOUSEMOTION:
            print pygame.mouse.get_rel()

    pygame.display.update()
    fpsClock.tick(FPS)
您将获得如下所示的输出,如您所见,您可以将其解释为描述运动方向的形式(x,y)的向量:

(0, 0)
(-1, 0) 
(0, -8)
(0, 0)