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

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

按键精灵安卓版
立即下载

软件版本:3.3.8
软件大小:62.5M
更新时间:12-18

按键精灵iOS版
立即下载

软件版本:1.7.1
软件大小:29.2M
更新时间:06-22

最新企业版UiBot
立即下载

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

快捷导航

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

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

[已解决] 优先级问题 [复制链接]

1#
同时找到多个相同点的时候,优先选择距离“123456”更近的目标,应该怎么改

本主题由 超级版主 瑞祥幽冥狼 于 2021/6/18 14:04:21 执行 主题分类 操作
2#

回复 1楼weizhuoshi的帖子

1.123456?
2.??

收 徒 索 引 ← ← ← ← ← ← ← ← ← ← 点 击

个 人 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#

回复 2楼瑞祥幽冥狼的帖子


FindColor 0,0,1919,1079,"182494",intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX + 50, intY + 110
KeyPress "A", 1


End If


那个“123456”是另一个色点

4#

回复 2楼瑞祥幽冥狼的帖子


FindColor 0,0,1919,1079,"182494",intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX + 50, intY + 110

End If


那个“123456”是另一个色点, 我代码发布出去老是说是不良信息,把大部分删掉才行

5#

回复 2楼瑞祥幽冥狼的帖子


FindColor 0,0,1919,1079,"666666",intX,intY
If intX > 0 And intY > 0 Then
MoveTo intX + 50, intY + 110

End If


那个“123456”是另一个色点, 我代码发布出去老是说是不良信息,把大部分删掉才行

6#

回复 2楼瑞祥幽冥狼的帖子


FindColor 0,0,1919,1079,"666666",intX,intY
If intX > 0 And intY > 0 Then


End If


那个“123456”是另一个色点, 我代码发布出去老是说是不良信息,把大部分删掉才行

7#

回复 2楼瑞祥幽冥狼的帖子

就是普通的找色,然后同时出现多个相同色点,我想设条件优先选择距离某个点比较近的

8#

回复 7楼weizhuoshi的帖子

1.自行修改为找色命令
  1. img = "D:\pic\1.bmp"
  2. st = Plugin.Sys.GetTime()
  3. startx = 0 : starty = 0 : endx = 1440 : endy = 900 : count = 0
  4. Do
  5. FindPic startx, starty, endx, endy, img, 1.0, intX, intY
  6. If intx = - 1 Then
  7. If startx=0 Then Exit do //查找结束
  8. starty = starty + 1 : startx = 0
  9. Else
  10. If inty = starty or startx = 0 Then
  11. startx = intx + 1:starty=inty
  12. count = count + 1
  13. 结果 = 结果 & vblf & intx & "," & inty
  14. Else
  15. startx = 0 : starty = starty + 1
  16. End If
  17. End If
  18. Loop
  19. s=Plugin.Sys.GetTime() -st
  20. MessageBox "找到" & count & "张,耗时:" & s & vblf & 结果
复制代码
2.代码1输出结果改为代码2需要的数组格式
  1. 最短距离="2000"
  2. Var1=Array(85,45,108,14,145,16,125,46,115,85,95,90)
  3. For i = 0 To UBound(Var1) - 1 step 2
  4. Var3 = 求两点间距离 (0, 0,Var1(i), Var1(i+1))'前两个参数为自定义坐标
  5. TracePrint Var1(i)&","&Var1(i+1)&"坐标距离为"&Var3
  6. If Var3 < 最短距离 Then 最短距离 = Var3 : Var4 = i
  7. Next
  8. TracePrint "最短距离坐标为"&Var1(Var4)&","&Var1(Var4+1)
  9. Function 求两点间距离(x1, y1, x2, y2)
  10. temp = sqr((x2 - x1) ^ 2 + (y2 - y1) ^ 2)
  11. 求两点间距离 = Round(temp, 2)
  12. End Function
复制代码

收 徒 索 引 ← ← ← ← ← ← ← ← ← ← 点 击

个 人 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[可加]
发新话题 回复该主题