我想检查鼠标是否按照未定义的方向移动,如下所示:
for event in pygame.event.get():
if event.type == pygame.MOUSEMOTION:
"do something"
然后我想打印方向。这可能吗?
答案 0 :(得分:1)
你已经到了一半:
类型为pygame.MOUSEMOTION
事件的事件具有pos成员。
您可以存储前一个pos,并计算差异 - 方向。
答案 1 :(得分:1)
另一种可能性是pygame.mouse.get_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)