马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
mx = 100//此处的mx是需要移动到的x坐标,这里假设是100
my = 100//此处的my是需要移动到的y坐标,这里假设是100
xzd = 543//游戏屏幕内x坐标的最大范围限定
xzx = 103//游戏屏幕内x坐标的最小范围限定
yzd = 402//游戏屏幕内y坐标的最大范围限定
yzx = 122//游戏屏幕内y坐标的最小范围限定
If mx > xzd Then//当需要移动的x坐标超过了x的最大范围限定,则分3次进行迂回移动
qx1 = mx - 100//这里是第1次移动的x坐标
qx2 = mx - 60//这里是第2次移动的x坐标
qx3 = mx - 20//这里是第3次移动的x坐标
pycs = 1//此处为偏移次数的判断,当它等于1时就进行3次移动,当它不等于1则只进行1次移动
ElseIf mx < xzx Then//当需要移动的x坐标低于了x的最小范围限定,也分3次进行迂回移动
qx1 = mx + 100//参考上面
qx2 = mx + 60//参考上面
qx3 = mx + 20//参考上面
pycs = 1
Else //如果x坐标没有超出x的最大范围限定,则不加入pycs=1的赋值
qx1 = mx
qx2 = mx
qx3 = mx
End If
If my > yzd Then
qy1 = my - 100
qy2 = my - 60
qy3 = my - 20
pycs = 1
ElseIf my < yzx Then
qy1 = my + 100
qy2 = my + 60
qy3 = my + 20
pycs = 1
Else //如果x及y都没有超出最大或者低于最小,则没有pycs=1的赋值,为下面进行移动次数判断做铺垫
qy1 = my
qy2 = my
qy3 = my
End If
Rem 开始偏移
MoveTo qx1, qy1//移动到第1次需要移动的坐标,如果坐标没有超出限定,则qx1=mx,qy1=my
sbyd = 1//此处是移动次数的计数变量
n = 0//此处是移动总次数的计数变量
Rem 飘移
If n = 15 Then//当移动总次数达到15次进行报警
Call Plugin.Media.Beep(523, 200)
Call Plugin.Media.Beep(523, 200)
Call Plugin.Media.Beep(523, 200)
MoveTo 320, 270//将鼠标移回游戏窗口中心处
Delay 100
Goto 开始偏移
End If
Delay 40
Call Plugin.FindPicture5_04.FindPicture(0, 3,22, 643, 502,"Attachment:\鼠标.bmp",60, 0.8, zx, zy)//这里用到的是361找图插件,也可以用自带的找图替换
If zx >= 0 And zy >= 0 Then
If pycs = 1 Then //判断需要进行3次移动
If sbyd = 1 Then //移动次数1
cx = qx1 - zx
cy = qy1 - zy
ElseIf sbyd = 2 Then//移动次数2
cx = qx2 - zx
cy = qy2 - zy
ElseIf sbyd = 3 Then//移动次数3
cx = qx3 - zx
cy = qy3 - zy
Else //大于3次以上的移动
cx = mx - zx
cy = my - zy
End If
Else//判断不需要进行3次移动
cx = mx - zx
cy = my - zy
End If
If abs(mx-zx) <= 1 and abs(my-zy) <= 1 Then//判断游戏鼠标与系统鼠标的误差是否达到要求,这里的1可以替换,但不能过大以免移动不准确
Goto 完成
Else
MoveR cx, cy//当误差不符合要求时进行相位移动
End If
sbyd = sbyd + 1//移动次数计数语句
End If
n=n+1//移动总次数计数语句
Goto 飘移
Rem 完成
pycs = 0//清空之前判断的是否3次移动变量值 |