学习游戏辅助制作:模拟鼠标真实移动直线+转折
1、代码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
FORC = yl
End If
For i = 1 To FORC+1
LeftDown 1
MoveTo sx, sy
LeftUp 1
Delay clng(tD)
sx = sx + xc
sy = sy + yc
If sx=endx Then
xc = 0
End If
If sy=endy Then
yc=0
End If
Next
End Sub
2、代码2 作者:dinwidi
//点到点直线移动,先走x轴横坐标直线,然后转折走y轴纵坐标直线,直至终点 (这是游戏里常用的单步移动的原理)
Call 老鼠慢慢跑(100,100,800,600,5)
Sub 老鼠慢慢跑(x1, y1, x2, y2, t)
MoveTo x1,y1
i = 0
For abs(x1 - x2)
LeftDown 1
MoveTo x1+(x2-x1)/abs(x2-x1)*i,y1
Delay t
LeftUp 1
i = i + 1
Next
i = 0
For abs(y1 - y2)+1
LeftDown 1
MoveTo x2, y1 + (y2 - y1) / abs(y2 - y1) * i
LeftUp 1
Delay t
i = i + 1
Next
End Sub