当前位置:首页 > 学习游戏辅助制作:按键精灵模拟鼠标动作防检测 - 图文
学习游戏辅助制作:按键精灵模拟鼠标动作防检测
来源:按键学院 【按键精灵】
有些游戏会检测到鼠标动作.频繁相同的点击很容易让游戏检测到我们使用了按键,这样的情况下,我们需要模拟鼠标移动,让鼠标像真是手动操作一样,慢慢的移动到终点。 论坛里的一位大牛:we似曾相识 曾经开展了\老鼠慢慢跑\的比赛征集帖,收集了各式各样模拟鼠标移动的代码,我们一起来看看~~~
内容提要
1、点到点模拟鼠标真实移动——直线 2、点到点模拟鼠标真实移动——直线+转折 3、点到点模拟鼠标真实移动——直线+振幅 4、点到点模拟鼠标真实移动——曲线
场景
在mspaint画图工具中,让鼠标从点100,100 移动到点800,600
NO.1-点到点模拟鼠标真实移动——直线
代码1 作者:林家铺子 x1 = 800 : y1 = 600 //目标点 x2 = 100 : y2 = 100//起始点 MoveTo x2,y2
k = (y2 - y1) / (x2 - x1) b = y2 - k * x2
For x = x2 To x1 Step sgn(x1 - x2)
//sgn函数为返回表示数字符号的整数。当(x1 - x2)>0时,返回值为1.当(x1 - x2)<0时,返回值为-1.当=0时,返回值为0 LeftDown 1
MoveTo x, (k * x + b) LeftUp 1 Delay 1 Next
代码2 作者:_雪狼 Call 鼠标慢慢跑(100,100,800,600,5) Sub 鼠标慢慢跑(x1, y1, x2, y2,time1) Dim a, x, y, i x = x1 : y = y1 a = x2 / y2 MoveTo x1, y1 For i = y To y2-1 y = y + 1 x = y * a LeftDown 1 MoveTo x, y
Delay time1 Next End Sub
代码3-变速 作者:playandhappy
//点到点直线移动,鼠标移动速度开始快后来越来越慢 Call 老鼠慢慢跑(100,100,800,600,100) Sub 老鼠慢慢跑(x1,y1,x2,y2,times) MoveTo x1,y1
While abs(x1-x2)>5 or abs(y1-y2)>5 GetCursorPos x1, y1 LeftDown 1
MoveR (x2 - x1) / 4, (y2 - y1) / 4 LeftUp 1 Delay times Wend LeftDown 1
MoveTo x2, y2 LeftUp 1 End Sub
代码4-移动次数 作者:fuyong198010222
//点到点直线移动,并且可以设置移动几次到达目标地点 Dim a, b, c, d ,n,t //起点(100,100),终点(800,600) a = 100 : b = 100 : c = 800 : d = 600 //匀速直线移动
UserVar n=100 \多少次移动到位\UserVar t=50 \每一次移动相隔多少时间\Call 老鼠慢慢跑() Sub 老鼠慢慢跑 MoveTo a, b Delay t For n
x = (c - a) / n : y = (d - b) / n LeftDown 1 MoveR x, y LeftUp 1 Delay t Next End Sub
代码5-移动间隔 作者:xuyuzui MoveTo 100,100
Call 老鼠慢慢跑(800, 600, 5, 50)
Sub 老鼠慢慢跑(x, y, mousestep, mouseDelay)
'x,y : 移动终点坐标 ' mousestep: 移动间距 'mouseDelay : 移动时间间隔(ms)
Dim Xstep, Ystep
Dim curx, cury, PianYiX, PianYiY GetCursorPos curx, cury
If abs(curx - x) < mousestep And abs(cury - y) < mousestep Then LeftDown 1 MoveTo x, y LeftUp 1 Exit Sub End If
Xstep = (x - curx) / mousestep Ystep = (y - cury) / mousestep
If abs(Xstep) > abs(Ystep) Then
PianYiX = mousestep * sgn(Xstep) PianYiY = (y - cury) / abs(Xstep) Else
PianYiX = (x - curx) / abs(Ystep) PianYiY = mousestep * sgn(Ystep) End If LeftDown 1
MoveR PianYiX, PianYiY LeftUp 1
Delay mouseDelay
Call 老鼠慢慢跑(x, y, mousestep, mouseDelay) End Sub
NO.2-点到点模拟鼠标真实移动——直线+转折
代码1 作者:VBS技术者 //tD几毫秒移动一点
call 鼠标慢慢跑(100,100,800,600,5) Sub 鼠标慢慢跑(X1,Y1,X2,Y2,tD) Dim xl,yl,xc,yc,endx,endy,sx,sy Dim FORC,i
xl=abs(clng(X1)-clng(X2)) yl=abs(clng(y1)-clng(y2)) EndX = X2 EndY = Y2 XC=1 YC=1 sx=x1 sy=y1
If clng(X1)>=clng(X2) Then EndX = X1 xc = -1 End If
If clng(Y1)>=clng(Y2) Then EndY = Y1 yc = -1 End If If xl>yl Then FORC = xl Else
共分享92篇相关文档