鼠标怎么设置单击偏移,鼠标侧边前后移动键怎么设置

首页 > 经验 > 作者:YD1662022-11-06 03:50:14

其实细心的童鞋可以发现这把剑的剑柄的部分是不动的

鼠标怎么设置单击偏移,鼠标侧边前后移动键怎么设置(17)

那我们就可以通过多点找色的方式去找到这个剑柄了。

  1. XY = FindMultiColor(0, 0, 1024, 768, "886020", "5|3|e0d078,6|5|c09c68,3|4|887038,-1|2|584028", 1.0, 1)
  2. ZB = InStr(XY, "|")
  3. //下面这句将字符串转换成数值
  4. intX = Clng(Left(XY, ZB - 1)): intY = Clng(Right(XY, Len(XY) - ZB))

复制代码

注意:这里得到的坐标是剑柄的位置,游戏中鼠标是根据剑尖来判定位置的,所以在实际的使用中还需要减去一些距离才能得到剑尖的坐标点。

3、接着计算指定的坐标和鼠标当前坐标的差值。

  1. x轴的坐标差是:x - (intX-22)
  2. y轴的坐标差是:y - (intY-22)

复制代码

代码里的22就是剑柄的坐标和剑尖的距离,intX-22 的结果就是剑尖的x坐标。intY-22 就是剑尖的y坐标。

4、之后用相对移动命令去移动即可

  1. MoveR x - (intX-22),y - (intY-22)

复制代码

完整代码

我们可以把这个计算过程定义成一个函数,这样可以在之后的脚本中很方便的去调用他

  1. Function 移动(x, y)
  2. //加入最大循环次数判断是否鼠标跑出画面
  3. Dim tmp1 '计数变量
  4. moveto x, y
  5. Delay 100
  6. //定位鼠标
  7. Do
  8. //多点找色,找鼠标剑柄,加偏色
  9. XY = FindMultiColor(0, 0, 1024, 768, "886020", "5|3|e0d078,6|5|c09c68,3|4|887038,-1|2|584028", 1.0, 1)
  10. ZB = InStr(XY, "|")
  11. //下面这句将字符串转换成数值
  12. intX = Clng(Left(XY, ZB - 1)): intY = Clng(Right(XY, Len(XY) - ZB))
  13. If intX >= 0 and intY >= 0 Then
  14. TracePrint "找到" & intX & "," & intY
  15. Exit Do
  16. Else
  17. TracePrint "未找到"
  18. tmp1 = tmp1 1
  19. End If
  20. Delay 10
  21. If tmp1 >= 20 Then
  22. TracePrint "无法定位鼠标位置,重置鼠标位置"
  23. moveto 400, 300
  24. Delay 300
  25. //重置计数变量
  26. tmp1 = 0
  27. End If
  28. Loop
  29. TracePrint "次数"&tmp1
  30. Delay 50
  31. TracePrint "坐标差:" & x - (intX-22) & "," & y - (intY-22)
  32. MoveR x - (intX-22),y - (intY-22)
  33. End Function

复制代码

除了这个通过计算差值的方法外,还有没有其他的方法用来解决鼠标飘移呢?

鼠标怎么设置单击偏移,鼠标侧边前后移动键怎么设置(18)

答案当然是有啦!!

而且方法比这个上面的方法要 简单粗暴!

鼠标怎么设置单击偏移,鼠标侧边前后移动键怎么设置(19)

后台移动鼠标解决飘移

后台命令的话直接就可以准确的移动操作,不需要单独的去计算差值

  1. Call register() //注册大漠
  2. hwnd = dm.GetMousePointWindow()
  3. dm_ret = dm.BindWindow(hwnd,"dx","windows2","dx",1) //大漠绑定窗口
  4. dm.moveto x,y
  5. dm.leftclick
  6. Sub register() //注册大漠
  7. Set ws = createobject("Wscript.Shell")
  8. ws.run "regsvr32 atl.dll /s"
  9. Set ws = nothing
  10. PutAttachment "G:\test", "dm.dll"
  11. PutAttachment ".\Plugin" ,"RegDll.dll"
  12. call Plugin.RegDll.Reg ( "G:\test\dm.dll")
  13. Set dm = createobject("dm.dmsoft")
  14. ver = dm.ver()
  15. If len(ver) = 0 Then
  16. MessageBox "插件注册失败,检查系统是否禁用了vbs脚本权限"
  17. EndScript
  18. End If
  19. End Sub

复制代码

这里还需要补充一点:这个后台的方法并不是所有游戏都能适用的,只有部分游戏使用后台方式可以避免出现鼠标飘移。

具体是哪些游戏,那就只能童鞋们自己测试了。

鼠标怎么设置单击偏移,鼠标侧边前后移动键怎么设置(20)

上一页12345下一页

栏目热文

文档排行

本站推荐

Copyright © 2018 - 2021 www.yd166.com., All Rights Reserved.