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

软件版本:2014.05
软件大小:21.6M
更新时间:07-04

按键精灵安卓版
立即下载

软件版本:3.3.1
软件大小:62.5M
更新时间:5-24

按键精灵iOS版
立即下载

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

最新企业版UiBot
立即下载

软件版本:1.2
软件大小:208M
更新时间:01-16

快捷导航

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

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

[已解决] 找色多次,只要有一次成立,就执行如下代码 [复制链接]

1#
Do
//下面这句在屏幕区域范围内查找多点颜色,返回左上角第一点颜色位置坐标
XY = Plugin.Color.FindMutiColor(27,91,48,98, "0054DD-1e1e1e", "0|0|0054DD-1e1e1e", 1)
//下面这句用于分割字符串
ZB = InStr(XY, "|")
//下面这句将字符串转换成数值
X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))
TracePrint "屏幕多点找色功能:找屏幕""我""字位置位于:" & X&","&Y
Delay 1000
Loop
If x>0 and y>0 then
MessageBox "000"
End if
昨天问的太模糊,今天整理了一下,不用0.5到1的相似度来找图,而是用偏色来找,居然还真行,也不知道是不是偏色设置的不够大,如果是每秒找一次,在个别情况下会出现偶尔找不到,能不能找十次,每秒一次,只要十次中,有一次找到条件就成立,应该怎样写,向您请教

本主题由 超级版主 n15976906190 于 2018/9/28 22:12:59 执行 审核帖子 操作
2#

您好, 需要10次的话, 建议 使用 For 循环, 可以定义 循环 次数
  1. For 10
  2. //下面这句在屏幕区域范围内查找多点颜色,返回左上角第一点颜色位置坐标
  3. XY = Plugin.Color.FindMutiColor(27,91,48,98, "0054DD-1e1e1e", "0|0|0054DD-1e1e1e", 1)
  4. //下面这句用于分割字符串
  5. ZB = InStr(XY, "|")
  6. //下面这句将字符串转换成数值
  7. X = Clng(Left(XY, ZB - 1)): Y = Clng(Right(XY, Len(XY) - ZB))
  8. TracePrint "屏幕多点找色功能:找屏幕""我""字位置位于:" & X & "," & Y
  9. If x>0 and y>0 then
  10.     MessageBox "000"'只要有一次找到, 就会来到这里
  11.     End if
  12. Delay 1000
  13. Next
  14. '10次都没有找到 就会来到这里.
复制代码
如果 在找到后 还需要 跳出循环的话 , 那 就在 循环外面 再加个 If x > 0 的判断, 来区分 是找到跳出来的 还是 没找到 自动出来的

3#

回复 2楼gljxsd的帖子

上面的那句话没看明白,怎么样加一个IF x>0,来判断是找到了或是没找到跳过的?

另外FOR循环没有类似DO循环的exit do的跳出命令吗,不然它一直在循环这个命令直到结束

4#

回复 3楼tangmiaoyang的帖子

补充2#答复
1.加在14行后
2.Exit for

收徒索引
----将满
个人QQ:1223116618
发新话题 回复该主题