python - pygame通过线程获取鼠标位置

时间:2015-03-27 14:54:36

标签: python sockets multithreading

我制作了一个服务器 - 客户端程序,我有一个主循环,我将客户端的图像发送到服务器。这个循环很慢,所以我在while循环之前打开了一个线程。

线程将光标的位置从服务器发送到客户端。 问题是它只获得第一个位置然后维持它。喜欢: (192500) (192500) (192500) (192500) (192500) ... 无论我的光标移动。 我已经尝试过了:

for event in pygame.event.get():
    pass
pos = pygame.mouse.get_pos()

但它只能在没有线程的情况下工作。 线程中的某些内容似乎与实际主程序中的屏幕无法通信。

服务器线程功能:

def mouseControl(Socket):
while True:                                      
    pos = pygame.mouse.get_pos()
    Socket.send(str(pos[0])+" "+str(pos[1]))
    a = Socket.recv(1024)

客户端线程功能:`

def mouseControl(Socket):
while True:
    pos = Socket.recv(1024)
    pos=pos.split()
    x,y = int(pos[0]),int(pos[1])
    win32api.SetCursorPos((x,y))
    Socket.send("Allright")

我无法使用win32api.getCursorPos(),因为我需要另一台计算机屏幕的相对位置。 任何解决方案?

0 个答案:

没有答案