按键精灵溢出

For10x1=800:y1=450GetCursorPosx,yIfabs(x-x1)>abs(y-y1)Thencs=abs(x-x1)Elsecs=abs(y-y1... For 10
x1 = 800 : y1 = 450
GetCursorPos x, y
If abs(x - x1) > abs(y - y1) Then
cs = abs(x - x1)
Else
cs = abs(y - y1)
End If
轨迹x = (x1 - x) / cs : 轨迹y = (y1 - y) / cs
移动次数 = 0 : 随机次数 = 0 : 移动步长 = Int((20 - 16 + 1) * Rnd + 16)
While x <> x1 and y <>y1
移动次数 = 移动次数 + 1
x = x + 轨迹x : y = y + 轨迹y
If 移动次数 = 移动步长 Then
Randomize
移动次数 = 0 : 随机次数 = 随机次数 + 1 : 移动步长 = Int((20 - 16 + 1) * Rnd + 16) : 移动延时 = Int((15 - 10 + 1) * Rnd + 10)
If 随机次数 = 4 Then
移动偏差x = Int((12 + 12 + 1) * Rnd - 12) : 移动偏差y = Int((9 + 9 + 1) * Rnd - 9) : 随机次数 = 0
End If
MoveTo x + 移动偏差x, y + 移动偏差y
Delay 移动延时
ElseIf abs(x - x1) <= 移动步长 and abs(y - y1) <= 移动步长 Then
x = x1 : y = y1
MoveTo x1, y1
End If
Wend
Next
展开
 我来答
帐号已注销
2017-12-26 · TA获得超过1.1万个赞
知道大有可为答主
回答量:6449
采纳率:69%
帮助的人:2147万
展开全部
因为你的代码经过第二次循环的时候,数据就出了问题。
你的代码第24行执行之后,鼠标位置就是800,450,然后进入第二次循环,于是x-x1=0,y-y1=0,所以就执行了cs=abs(y - y1),显然cs=0,你后面把0当作除数,当然是违规了,因此代码只能正常循环一次。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式