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

时间:2015-03-27 15:06:18

标签: python multithreading sockets pygame

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

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

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 个答案:

没有答案