我制作了一个服务器 - 客户端程序,我有一个主循环,我将客户端的图像发送到服务器。这个循环很慢,所以我在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(),因为我需要其他计算机屏幕的相对位置。任何解决方案?