编程语言
首页 > 编程语言> > Python / Pygame鼠标位置未更新,并且程序失去了焦点

Python / Pygame鼠标位置未更新,并且程序失去了焦点

作者:互联网

我正在尝试学习Python / Pygame.我创建了一个使用鼠标位置的程序,但是当我从IDLE运行并且从命令提示符运行鼠标时,鼠标位置不会更新,并且当我在图形窗口中单击时,鼠标都进入了非响应模式.

代码非常简单(请参见下文).发生的情况是print命令一次又一次地打印原始鼠标位置.有任何想法吗?

import pygame
from pygame.locals import *
pygame.init()
Screen = pygame.display.set_mode([1000, 600])
MousePos = pygame.mouse.get_pos()
Contin = True
while Contin:
    print(MousePos)

解决方法:

您没有将MousePos更新为新值,而是一次又一次地打印出相同的值.
您需要的是:

import pygame
from pygame.locals import *
pygame.init()
Screen = pygame.display.set_mode([1000, 600])
MousePos = pygame.mouse.get_pos()
Contin = True
while Contin:
    MousePos = pygame.mouse.get_pos()
    print(MousePos)
    DoSomething(MousePos)

注意:如果您不处理任何其他事件,它也会进入非响应模式.

这是处理PyGame中事件的更好方法:

while running:
     event = pygame.event.poll()
     if event.type == pygame.QUIT:
         running = 0
     elif event.type == pygame.MOUSEMOTION:
         print "mouse at (%d, %d)" % event.pos

标签:mouse-position,pygame,mouseevent,python
来源: https://codeday.me/bug/20191030/1965483.html