• 新浪微博:
  • 微信 :
按键精灵电脑版
立即下载

软件版本:2014.06
软件大小:22.9M
更新时间:03-18

按键精灵安卓版
立即下载

软件版本:3.3.6
软件大小:62.5M
更新时间:01-16

按键精灵iOS版
立即下载

软件版本:1.3.8
软件大小:29.2M
更新时间:06-14

最新企业版UiBot
立即下载

软件版本:3.3
软件大小:282M
更新时间:08-06

快捷导航

登录 后使用快捷导航
没有帐号? 注册

登录 注册
发新话题 回复该主题

[已解决] 鼠标沿着函数怎么走 [复制链接]

1#
x1 = 480 : y1 = 561
k = (y1 / x1 - y2 / x2) / (x1 - x2)
b = y1 / x1 - ((y1 / x1 - y2 / x2) / (x1 - x2))
y=k*(x*x)+b

Delay int(rnd * 50)

GetCursorPos x1, y1

TracePrint x2 & "," & y2

MoveTo x,y
显示k,b值出借,如何让鼠标沿着这个函数轨迹走,一团浆糊,或者我需要学习哪方面内容,

本主题由 超级版主 n15976906190 于 2020/3/15 13:13:14 执行 审核帖子 操作
2#

回复 1楼maoxiaowu的帖子
注:你好 仅能指出代码存在问题 描述与代码均未能提供更多信息与思路 思路与算法自行解决
  1. x1 = 480 : y1 = 561
  2. x2 = 1 : y2 = 1'未给x2,y2赋值导致的错误
  3. k = (y1 / x1 - y2 / x2) / (x1 - x2)
  4. b = y1 / x1 - ((y1 / x1 - y2 / x2) / (x1 - x2))
  5. y=k*(x*x)+b
  6. Delay int(rnd * 50)
  7. GetCursorPos x1, y1
  8. TracePrint x2 & "," & y2
  9. MoveTo x,y
复制代码

最后编辑n15976906190 最后编辑于 2020-01-20 08:38:39
收徒索引 ←点击

个 人 Q Q 1 : 1 2 2 3 1 1 6 6 1 8[将满]
个 人 Q Q 2 : 6 1 7 0 9 5 5 4 3[可加]
3#

为什么按键精灵我在调试鼠标移动和时候,过一会鼠标就动一点,不能移动到指定坐标

4#

回复 3楼maoxiaowu的帖子

注:你好 鼠标飘逸了解下
您所在的用户组无法下载或查看附件

收徒索引 ←点击

个 人 Q Q 1 : 1 2 2 3 1 1 6 6 1 8[将满]
个 人 Q Q 2 : 6 1 7 0 9 5 5 4 3[可加]
5#

Function 移动(MoveToX, MoveToY)
MoveTo MoveToX, MoveToY
Delay 500
Dim tmp1
sim = 2
     beishu=20
Do
GetCursorPos ComputerX, ComputerY//得到当前鼠标坐标
Delay 10
TracePrint "显示鼠标位置"&ComputerX&","&ComputerY

XY=Plugin.Color.FindMutiColor(ComputerX-100,ComputerY-100,ComputerX+100,ComputerY+100,"884408","4|0|985C20,5|-3|985C20,6|-7|B87830",0.9) '多点找色找鼠标病位置
ZB = InStr(XY, "|")
//下面这句将字符串转换成数值
intX = Clng(Left(XY, ZB - 1)): intY = Clng(Right(XY, Len(XY) - ZB))
If intX > 0 and intX > 0 Then
TracePrint "抓取鼠标图片坐标" & intX & "," & intY //调试
GameX= intX - 14 : GameY = intY- 21
TracePrint "游戏鼠标位置"&GameX & ","& GameY //调试
SubX = MovetoX - GameX :subY= MovetoY - GameY
TracePrint "得到偏差" & SubX & "," & SubY//调试

Exit Do

Else
TracePrint "未找到鼠标,相对移动"
tmp1 = tmp1 + 1
End If
Delay 10
If tmp1 >= 20 Then
TracePrint "无法定位鼠标位置,重置鼠标位置"
moveto sx,sy
Delay 300
//重置计数变量
tmp1 = 0
End If
Loop
TracePrint "次数"&tmp1
Delay 5
SubX = MovetoX - GameX :subY= MovetoY - GameY
TracePrint "得到偏差" & SubX & "," & SubY//调试
If Abs(SubX)<= sim and Abs(SubY)<=sim Then
End If

If SubX > sim Then
MoveRX = CLng(SubX / beishu) - 1
ElseIf SubX<-sim Then
     MoveRX = CLng(SubX / beishu) +1
     Else
     MoveRX =0
End If
if SubY > sim Then
MoveRY = CLng(SubY / beishu) - 1
ElseIf SubX< -sim Then
     MoveRY = CLng(SubY / beishu)+ 1
     Else
     MoveRY =0
End If
Delay 3
MoveR MoveRX, MoveRY
TracePrint"RX"&MoveRX&","&MoveRY
End Function
这是我做的鼠标防漂移,最后看还是对不上,这是梦幻的,看看我哪错了,调试的时候还是不对

6#

回复 5楼maoxiaowu的帖子

注:你好,实战中发生的各种特殊情况,没有相对应的环境,我们无法测试,也无法给出任何观点、评论、结果;会员区不提供具体脚本的、测试、编写、思路提供、教学服务,请自行解决实战中遇见的麻烦

收徒索引 ←点击

个 人 Q Q 1 : 1 2 2 3 1 1 6 6 1 8[将满]
个 人 Q Q 2 : 6 1 7 0 9 5 5 4 3[可加]
7#

rem 开始
MoveTo 300, 300
ABC=0
ABC鼠标=0
ABCD鼠标=0
x1=3
y1=22
x2=643
y2=502
Rem 鼠标位子
ABC鼠标=ABC鼠标+1
If ABC鼠标 > 300 Then
MoveTo 300, 250
Delay 500
goto 开始
End If
FindColor x1, y1, x2, y2, "c87c20", x3,y3
If x3>0 and y3>0
Else
x1=x3+1
y1=y3+1
End If
IfColor x3+1,y3+1,"A86c30",0
Else
x1=x3+1
y1=y3+1
EndIf
IfColor x3+3,y3+3,"804c28",0 Then
x3=x3-19-3
y3=y3-18-3
Else
x1=x3+1
y1=y3+1
Goto 鼠标位子
EndIf
Rem 鼠标位子计算
ABC = ABC + 1
If ABC > 100 Then
MoveTo 300, 250
Delay 500
Goto 开始
End If
x5=x-x3
y5=y-y3
VBS x4=Abs(x-x3)
VBS y4=Abs(y-y3)
If x4>50 or y4>50
If x5>10
x5=10
EndIf

If x5<-30
x5=-30
EndIf
If y5>30
y5=30
EndIf
If y5<-30
y5=-30
EndIf
MoveR x2,y2
Call GetCursorPos(x3,y3)
Goto 鼠标位子计算
EndIf
If x4<4 and y4<4
Else
MoveR x5,y5
Delay 100
Goto 鼠标位子
EndIf
rem 漂移结束
为什么不移动,鼠标在界外,游戏鼠标在界内

8#

回复 7楼maoxiaowu的帖子

注:你好,实战中发生的各种特殊情况,没有相对应的环境,我们无法测试,也无法给出任何观点、评论、结果;会员区不提供具体脚本的、测试、编写、思路提供、教学服务,请自行解决实战中遇见的麻烦{各个关键位置加入TracePrint自行确认问题所在}

收徒索引 ←点击

个 人 Q Q 1 : 1 2 2 3 1 1 6 6 1 8[将满]
个 人 Q Q 2 : 6 1 7 0 9 5 5 4 3[可加]
9#

Function 移动(MoveToX, MoveToY)
MoveTo MoveToX, MoveToY
Delay 500
Dim tmp1
sim = 2
     beishu=20
Do
Rem 找鼠标
GetCursorPos ComputerX, ComputerY//得到当前鼠标坐标
Delay 10
TracePrint "显示鼠标位置"&ComputerX&","&ComputerY

XY = Plugin.Color.FindMutiColor(0, 0, 1920, 1080, "884408", "4|0|985C20,5|-3|985C20,6|-7|B87830", 1)
XY=Plugin.Color.FindMutiColor(0,0,1920,1080,"884408","4|0|985C20,5|-3|985C20,6|-7|B87830",1) '多点找色找鼠标病位置
ZB = InStr(XY, "|")
//下面这句将字符串转换成数值
intX = Clng(Left(XY, ZB - 1)): intY = Clng(Right(XY, Len(XY) - ZB))
If intX > 0 and intX > 0 Then
TracePrint "抓取鼠标图片坐标" & intX & "," & intY //调试
GameX = intX - 14 : GameY = intY - 21
TracePrint "游戏鼠标坐标" & GameX & "," & GameY
Exit Do

Else
TracePrint "未找到鼠标"
tmp1 = tmp1 + 1
End If
Delay 10
If tmp1 >= 20 Then
TracePrint "无法定位鼠标位置,重置鼠标位置"
moveto sx,sy
Delay 300
//重置计数变量
tmp1 = 0
End If
Loop
TracePrint "次数"&tmp1
Delay 50
Do

SubX = MovetoX - GameX :subY= MovetoY - GameY
TracePrint "得到偏差" & SubX & "," & SubY//调试
If Abs(SubX) <= sim and Abs(SubY) <= sim Then
Exit Do
End if
If SubX > sim Then
MoveRX = CLng(SubX / beishu) - 1
ElseIf SubX<-sim Then
     MoveRX = CLng(SubX / beishu) +1
     Else
     MoveRX =0
End If
if SubY > sim Then
MoveRY = CLng(SubY / beishu) - 1
ElseIf SubX< -sim Then
     MoveRY = CLng(SubY / beishu)+ 1
     Else
     MoveRY =0
End If
Delay 100
MoveR MoveRX, MoveRY
Goto 找鼠标
TracePrint "RX" & MoveRX & "," & MoveRY
Loop

    
     TracePrint GameX & ","& GameY
脚本 测试找鼠标.Q ,第43行:得到偏差-14,-12
脚本只能运行到这一步,不能下一步运行,一直循环,如何循环到 If Abs(SubX) <= sim and Abs(SubY) <= sim Then 这一步呢?

10#

回复 9楼maoxiaowu的帖子

注:你好 在43行后加入本本代码 自行插件是否符合判断
  1. TracePrint Abs(SubX)
  2. TracePrint Abs(SubY)
  3. TracePrint sim
复制代码

收徒索引 ←点击

个 人 Q Q 1 : 1 2 2 3 1 1 6 6 1 8[将满]
个 人 Q Q 2 : 6 1 7 0 9 5 5 4 3[可加]
11#

鼠标在便宜x=0 的时候Y>2就不进行相对移动

12#
收徒索引 ←点击

个 人 Q Q 1 : 1 2 2 3 1 1 6 6 1 8[将满]
个 人 Q Q 2 : 6 1 7 0 9 5 5 4 3[可加]
发新话题 回复该主题