按键向导-如何离开鼠标移动轨迹

电脑杂谈  发布时间:2020-10-17 21:07:13  来源:网络整理

鼠标轨迹重复_鼠标轨迹重复

在某些场景中,您需要离开鼠标移动轨迹,这更符合视觉体验,否则光标会闪烁吗?更不用说,它一定对眼睛有害。就在上周,一个小伙伴咨询了背景鼠标尽管我没有解决运动问题,但我不知道老板给出的解决方案是否最终解决了问题。但是解决问题的想法值得探索和学习。

1

问题背景介绍

鼠标轨迹重复_鼠标轨迹重复

对于背景中鼠标移动的问题,我咨询了一个大家伙。他的建议是尝试缓慢移动。每个移动的距离约为10像素,因此计算机感觉到它实际上正在缓慢移动。这本身不是。作弊例如,要从坐标10,10移至100,100,我们可以先移至20,20,然后移至30,30,然后移至40,40 ...最后移至100,100。

2

实现思路

鼠标轨迹重复_鼠标轨迹重复

后来,我为我的咨询合作伙伴起草了一个实施构想。文字很随意,所以让我们看一下...

我们假设我们从左上角移到右下角,自然就是x1

7是怎么来的?如果正方形的左上角移至右下角,则对角线长度为7 *1.414,接近10个像素。尽管水平和垂直比率的可变性更大,但根据操作习惯,选择7到8或9到10,我喜欢研究该算法可以自己研究更实际的参数。

鼠标轨迹重复_鼠标轨迹重复

然后,还没有结束,我错过了7个句子之前的一个句子,然后移到x2,y2。

3

编码

鼠标轨迹重复_鼠标轨迹重复

Call liner_move(10,10,1000,800)
Function liner_move(x1, y1, x2, y2)
    k = (y2 - y1) / (x2 - x1)
    Do While x1 < x2
        MoveTo x1,y1
        x1 = 7 + x1
        y1 = 7 * k + y1
        Delay 20
    Loop
    MoveTo x2, y2
End Function

上面的代码使用坡度并直线移动,每次移动7,k的水平和垂直坐标,看起来都很棒,不是吗?

但是,您只能从左上角移动到右下角。如果要从右上角移动到左下角,或者x2 = x1,您将大为震惊。似乎您需要执行非常复杂的计算,并且必须考虑斜率k不存在。这个...

后来,我的灵感来了,我编写了以下简单而又高大的代码。代码不只是为了实用吗? !

Call liner_move(1000, 800, 50, 20)
Function liner_move(x1, y1, x2, y2)
    dx = x2 - x1
    dy = y2 - y1
    Do While sqr((x1 - x2) ^ 2 + (y1 - y2) ^ 2)>10
        MoveTo x1,y1
        x1 = dx * 0.001 + x1
        y1 = dy * 0.001 + y1
        Delay 0.5
    Loop
    MoveTo x2, y2
End Function

为了简要说明,其思想是计算机的分辨率通常在2000 * 1800以内。我们将其乘以0.001,仅为2 *1.8。即使从0,0移至2000,1800,每次水平和垂直移动2,1.8时,该距离也明显小于10。

基于此原理,我们可以每次移动0.001横坐标差,即代码中的0.001dx和0.001dy。当然,循环将经历1000次。如果将延迟设置为0.5,则将为500ms,如果延迟较大,则会变慢。


本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/bofangqi/article-326741-1.html

    相关阅读
      发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

      热点图片
      拼命载入中...