马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
按键精灵的图色命令功能非常强大, 有找图/找色/找字/比色等等各个不同功能的命令, 但是当大家遇到使用相关图色命令却返回找不到或得到坐标不正确, 对比不成功等情况的时候, 往往会一头雾水, 想不通如何解决这个问题.
出现这种问题的本质原因在于画面上的图色数据, 跟你自己写的图色数据不一致, 导致按键精灵给你返回结果是失败, 对比不成功. 然而这样的返回信息太过于单调, 就简单的告诉你找不到或一个其他坐标, 并没有告诉你到底哪里不一致.
所以我们要从这里入手, 当按键精灵图色找不到的时候, 我们让按键精灵把它查找的这部分图色画面展示给我们看, 然后我们自己用眼睛去对比下这部分的图色数据跟我们写的图色数据到底哪里不一样, 具体方法如下.
找不到图片/找不到文字/找不到颜色等查找返回坐标的命令
- 使用snapshot()截图命令还原按键精灵查找时候的现场画面, 建议按查找范围进行截图.
- 将截取到的图片传到电脑上, 使用手机抓抓加载图片打开.
- 根据找图找色代码命令设置的范围去选取抓抓上截图的范围.
- 对比两者图色数据是否一致, 分析为什么找不到图色或找到坐标不正确.
- 如果是找图命令看不出图片区别的话, 直接追加一张查找图片数据.
- 也可以考虑限时循环查找, 提供准确率
代码例子如下:
[按键精灵] 纯文本查看 复制代码 Dim intx, inty, 颜色值, 偏移的颜色串
FindMultiColor 100, 200, 300, 400, 颜色值, 偏移的颜色串, 0, 0.9, intX, intY
If intX > -1 And intY > -1 Then
TracePrint "找到坐标是:", intx, inty
//假如是坐标不正确的话, 也进行同样的截图分析
Else
TracePrint "找不到图色进行截图分析"
SnapShot "/sdcard/找不到图色.png", 100, 200, 300, 400
//把截取的图片传到电脑上, 按步骤对比分析
End If
比色不一致等对比固定坐标命令
- 用GetPixelColor()之类的获取颜色命令来输出查看指定坐标点的颜色是什么颜色.
- 分析获取到的颜色跟我们代码写的颜色有什么区别, 思考为什么会有不一样的.
- 如果找不到不一致的原因, 那么使用snapshot()截图命令截取画面.
- 将截取的图片传到电脑上, 并用手机抓抓加载图片打开.
- 找到我们写的坐标点, 对比这个点的颜色跟我们写的颜色不一样的地方, 并分析原因.
- 一般是颜色比色太早或者太晚导致的, 加点延时就可以解决, 如果是色差问题, 多加几个颜色数据即可解决
代码例子如下:
[按键精灵] 纯文本查看 复制代码 Dim c
If CmpColorEx("300|500|FFFFFF|123456,305|505|FFFFFF",0.9) = 1 Then
TracePrint "全部点颜色相等"
Else
TracePrint "有一个或多个颜色不符合"
c = GetPixelColor(300, 500)
TracePrint "300, 500的颜色是", c
c = GetPixelColor(305, 505)
TracePrint "305, 505的颜色是", c
//请自行比较输出结果与你的数据是否一致
//如果不一致但又不知道原因的话, 那就用snapshot()截图分析
End If
|