TC官方合作论坛

 找回密码
 立即注册
查看: 1916|回复: 17

[已解决] 基础问题,关于颜色识别,已哭笑不得地解决。

[复制链接]
发表于 2014-1-8 23:29:58 | 显示全部楼层 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
本帖最后由 cyborg0975 于 2014-1-10 10:03 编辑

见楼下………………………………
回复

使用道具 举报

发表于 2014-1-8 23:58:44 | 显示全部楼层
代码说明一切问题
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-9 00:07:50 | 显示全部楼层
本帖最后由 cyborg0975 于 2014-1-9 21:18 编辑

仔细排查了一下,发现是一个循环的等待界面出了问题。代码如下,我觉得应该能跳出,但实际上一直没跳出。
用AB截图以后取的色。AB美中不足的是哪怕截屏了,显示的还是鼠标在显示器上的绝对坐标,就不能按照截图的位置来显示坐标么……
等待语句(循环,一直等某点变成某颜色):

  1.     n=0
  2.     color1
  3.     while(true)
  4.         if ( n>100)
  5.             break
  6.         endif
  7.         color1=color.getpixelcolor(xxxx,xxxx)
  8.         if (color1=="FFFFFF")
  9.             break
  10.         endif
  11.         n=n+1
  12.         help.sleep(50)
  13.     endwhile
复制代码
补充:刚刚发现老习惯害死人。可以清楚地看到,颜色的格式错了,应该是#FFFFFF.

回复 支持 反对

使用道具 举报

发表于 2014-1-9 00:46:17 | 显示全部楼层
cyborg0975 发表于 2014-1-9 00:07
仔细排查了一下,发现是一个循环的等待界面出了问题。代码如下,我觉得应该能跳出,但实际上一直没跳出。
...

TC提供的AB抓抓不理想,用大漠综合工具先绑定游戏在获取某个坐标的颜色进行判断吧。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-9 00:55:09 | 显示全部楼层
zxw445 发表于 2014-1-9 00:46
TC提供的AB抓抓不理想,用大漠综合工具先绑定游戏在获取某个坐标的颜色进行判断吧。 ...

颜色的话绝对没问题,和鼠标悬停无关,我可以确定那个点的颜色。用大漠重新取了一次也还是一样。
主要是循环里面的跳出无法实现。
回复 支持 反对

使用道具 举报

发表于 2014-1-9 01:05:56 | 显示全部楼层
cyborg0975 发表于 2014-1-9 00:55
颜色的话绝对没问题,和鼠标悬停无关,我可以确定那个点的颜色。用大漠重新取了一次也还是一样。
主要是 ...

把上面那段改成中文,我看看,英文我看不懂。。。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-9 10:55:54 | 显示全部楼层
zxw445 发表于 2014-1-9 01:05
把上面那段改成中文,我看看,英文我看不懂。。。

呃。语法应该是没问题的吧……当然用遍历也可以。
  1.         n=0
  2.         颜色1
  3.         循环(真)
  4.             如果 ( n>100)
  5.                 跳出
  6.             如果结束
  7.             颜色1=<a id="FunctionExample" target="_blank">图像.坐标点取色</a>(xxxx,xxxx)
  8.             如果(颜色1=="FFFFFF")
  9.                 跳出
  10.             如果结束
  11.             n=n+1
  12.             辅助.等待(50)
  13.         循环结束
复制代码
我是用线程来控制这个功能不重复开启的。难道说我一定要绑定窗口么?这个操作不涉及窗口内的相对坐标,我都是用屏幕上的绝对坐标完成的,应该不需要吧…………
回复 支持 反对

使用道具 举报

发表于 2014-1-9 11:12:26 | 显示全部楼层
        n=0
        颜色1
        循环(真)
            调试输出(n)
            如果 ( n>100)
                跳出
            如果结束
            颜色1=图像.坐标点取色(xx,xxx)

            如果(颜色1=="FFFFFF")
                跳出
            如果结束
            n=n+1
            辅助.等待(50)
        循环结束
        调试输出("跳出来了")

用这样测试看看。看看有没有跳出或者n的值是否大于100就跳出


回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-1-9 19:43:45 | 显示全部楼层
本帖最后由 cyborg0975 于 2014-1-9 19:45 编辑
zxw445 发表于 2014-1-9 11:12
n=0
        颜色1
        循环(真)

我给几个有颜色判断的节点设置了调试输出,结果表明所有的识别都失败了,结果全是“没有找到”。
难道说,TC的颜色识别只支持判断窗口内坐标的?如果我用AB抓抓的句柄锁定,截图一片漆黑,看来是被游戏防住了。

我还是好好看看教程去……
回复 支持 反对

使用道具 举报

发表于 2014-1-9 19:46:24 | 显示全部楼层
颜色1=图像.坐标点取色(xx,xxx)
调试输出(颜色1)

你这样看看是否能输出你所判断的颜色?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18045623号)

GMT+8, 2024-9-23 21:56 , Processed in 0.038418 second(s), 23 queries .

Powered by 海安简单软件服务部

© 2008-2019 版权所有 保留所有权利

快速回复 返回顶部 返回列表