【问题标题】:Pygame Mouse Event Position IssuePygame鼠标事件位置问题
【发布时间】:2015-10-25 06:39:07
【问题描述】:

我想在按下鼠标按钮时获取鼠标位置的坐标。我正在使用以下代码来尝试实现这一目标:

for event in pygame.event.get():
        if event.type == pygame.QUIT:
            running = False
        elif event.type == pygame.MOUSEBUTTONDOWN:
            mouse_pos = event.pos

我的问题是当我在点击后移动鼠标时,event.pos 给了我新的光标位置,而不是我实际点击的坐标。如何将mouse_pos设置为点击的实际坐标?

【问题讨论】:

  • 是在点击不同的鼠标后移动鼠标然后在你的上下文中拖动
  • 如果你使用mouse_pos = event.posmouse_pos将包含点击的实际坐标。也许你在代码的其他地方覆盖它?
  • @udhy 是的,我松开鼠标按钮然后移动。
  • @sloth 不,我没有发现它在代码的其他地方被覆盖。
  • 尝试制作一个小程序并运行这段代码,是否仍然报错。

标签: python pygame mouseevent


【解决方案1】:

虽然这个帖子在 4 个月前被问到你是否还在寻找答案,但它是......

在您的循环中,您使用了错误的命令来获取鼠标位置。而不是使用这个...

mouse_pos = event.pos

使用这个...

mouse_pos = pygame.mouse.get_pos()

此命令将在调用时获取当前鼠标位置,并将其作为元组返回,如 (x,y)。

我希望这对您的问题有所帮助。

【讨论】:

  • event.pos 是鼠标位置。
猜你喜欢
  • 2010-11-13
  • 1970-01-01
  • 1970-01-01
  • 2011-01-21
  • 2012-08-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-19
相关资源
最近更新 更多