如何灵活移动鼠标
How Do I move my mouse with flexible speed
我读了一些关于 pywin32 的文章,它让你有可能将光标从一个点移动到另一个点。
如何单击一个点并以特定速度将其移动到另一个方向,而光标 "jumping" 不指向该方向?
我想要一个结果,您可以看到它通过了哪些分数。
OS 是 Windows。
假设你有两个点,一个起点和一个终点;你可以计算它们之间的直线方程,然后多次调用 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])
我读了一些关于 pywin32 的文章,它让你有可能将光标从一个点移动到另一个点。
如何单击一个点并以特定速度将其移动到另一个方向,而光标 "jumping" 不指向该方向? 我想要一个结果,您可以看到它通过了哪些分数。
OS 是 Windows。
假设你有两个点,一个起点和一个终点;你可以计算它们之间的直线方程,然后多次调用 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])