我读了一些关于pywin32的内容,你可以将光标移动到One Point到另一个。
我如何点击一个点并以特定的速度将其移动到另一个方向而没有光标"跳跃"那个方向? 我想要一个结果,你可以看到它已经过了什么点。
操作系统是Windows。
答案 0 :(得分:0)
说你有两点,开始和停止;你可以计算它们之间的线方程,只需多次调用win32api.SetCursorPos
来动画运动。
import win32api, time
def moveFromTo(p1, p2):
# slope of our line
m = (p2[1] - p1[1]) / (p2[0] - p1[0])
# y intercept of our line
i = p1[1] - m * p1[0]
# current point
cP = p1
# while loop comparison
comp = isGreater
# moving left to right or right to left
inc = -1
# switch for moving to right
if (p2[0] > p1[0]):
comp = isLess
inc = 1
# move cursor one pixel at a time
while comp(cP[0],p2[0]):
win32api.SetCursorPos(cP)
cP[0] += inc
# get next point on line
cP[1] = m * cP[0] + i
# slow it down
time.sleep(0.01)
def isLess(a,b):
return a < b
def isGreater(a,b):
return a > b
moveFromTo([500,500],[100,100])