TC官方合作论坛

标题: 这个代码为何找不到图呢? [打印本页]

作者: lyttt    时间: 2012-4-25 22:43
标题: 这个代码为何找不到图呢?
#import "dm.dmsoft" dm
空间 找图
//定义默认空间
整型 窗口句柄,线程句柄
整型 X,Y,是否成功,是否成功1
dm.SetPath(辅助.获取资源路径("rc:"))

功能 逻辑型 开始_点击()
//这里添加你要执行的代码
窗口句柄=窗口.鼠标所在窗口句柄()
是否成功=dm.BindWindow(窗口句柄,"dx","dx","dx",0)

是否成功1=dm.FindPic(0,0,2000,2000,"1.bmp","203040",0.9,0,X,Y)
如果(是否成功1==0)
辅助.等待(300)   
辅助.消息框("没有获取")
否则

辅助.蜂鸣(1000,1000)
如果结束

返回 真
//函数返回语句
功能结束
功能 逻辑型 退出_点击()
//这里添加你要执行的代码
辅助.退出()
返回 真
//函数返回语句
功能结束
功能 逻辑型 热键0_热键()
//这里添加你要执行的代码
线程句柄=线程.开启("找图.开始_点击")
返回 真
功能结束



空间结束
//空间结束语句


如果将
是否成功=dm.BindWindow(窗口句柄,"dx","dx","dx",0)
这句删除就能找到,怎么回事啊,来个高手解答下,或帮修改下

作者: 陌上青衣。    时间: 2012-4-25 22:53
你在哪里找的什么图,
估计不支持后台。
作者: 战斗之神    时间: 2012-4-25 22:54

把这个放在找图的前面试试

dm.SetPath(辅助.获取资源路径("rc:"))
是否成功1=dm.FindPic(0,0,2000,2000,"1.bmp","203040",0.9,0,X,Y)
作者: lyttt    时间: 2012-4-25 23:17
支持后台的,我用看图软件打开图片测试的
是否成功=dm.BindWindow(窗口句柄,"dx","dx","dx",0)
这句代码后面要加什么才行,难道真的要删掉?觉得有冲突
作者: 龍吟达人    时间: 2012-4-25 23:44
是否成功=dm.BindWindow(窗口句柄,"dx","dx","dx",0) //这句后面加个判断,判断是否绑定成功。
如果(是否成功==1) //标示绑定成功 ,再执行下面找图判断语句  

另外能绑定游戏模式成功是一会事,能不能支持找图按键鼠标又是一回事。大漠组合方式很多建议多尝试各种组合。
作者: lyttt    时间: 2012-4-26 00:08
尝试过了,不行,用什么命令隔开又不冲突呢?
作者: 龍吟达人    时间: 2012-4-26 00:11
找图关键就在第一个参数 可以试试gdi gdi2  关键就在于你这个参数是否是真的支持后台找图   能支持后面的找图命令才会起到效果,否则就是无效。虽然是绑定成功了 但是不支持后台也是空的。
作者: lyttt    时间: 2012-4-26 00:24
我不是用游戏来试的,是直接打开图片找图,没用大漠绑定窗口是可以找到的,用激活窗口也行
作者: lyttt    时间: 2012-4-26 00:26
还有找色也可以找到,为何图找不到呢?
作者: 龍吟达人    时间: 2012-4-26 00:33
去掉绑定窗口命令后能找到根据我的分析得出:
一、绑定窗口后里面用的是相对坐标,最好以游戏窗口大小为边界;
二、很大可能性是不DX模式下不支持找图,建议尝试其他参数;
三、图片的色差和相似度貌似楼主都调很高,我建议相似度为1.0,色差的一般找图都是000000,只有针对较老显卡才会用到。
四、图片若背景颜色有变化的,需要做成透明图或者做成字库。
五、我表示你如果是打开图片浏览来测试图片很蛋疼,我没办法帮你解决。
六、果断模式不支持!

作者: 战斗之神    时间: 2012-4-26 09:32
你找图不是设置的rc吗? 你不放在函数里面执行吗?那大漠怎么知道你的RC路径呢?
既然是鼠标获得窗口句柄,你开始就运行,鼠标还没移动过去,你就获得当前的窗口句柄了。
代码不严谨,自己慢慢改吧!

辅助.等待(5000)
窗口句柄=窗口.鼠标所在窗口句柄()
是否成功=dm.BindWindow(窗口句柄,"dx","dx","dx",0)
dm.SetPath(辅助.获取资源路径("rc:"))
是否成功1=dm.FindPic(0,0,2000,2000,"1.bmp","203040",0.9,0,X,Y)
作者: dzh    时间: 2012-4-26 10:13
楼上的正解!
作者: a021216    时间: 2012-4-26 10:30
不允许发帖,只能在回复里求,求神曲脚本,有兴趣的信
作者: 无情的冷风    时间: 2012-4-26 10:41
:|   菜鸟回答的估计他不相信, o哈哈
作者: 战斗之神    时间: 2012-4-26 11:10
:D   路径没有设置好。。
作者: 落叶归根    时间: 2012-4-26 11:26
:|   好像论坛好多脚本都是先设置路径的。
作者: tyuyan    时间: 2012-4-26 11:58
很多细节问题,需要自己去发现。
作者: lyttt    时间: 2012-4-26 21:05
你们的建议都试过的,至于路径我也设过的,是否成功1=dm.FindPic(0,0,2000,2000,"e:\\1.bmp","203040",0.9,0,X,Y) 条件我已经说得很清楚了,不管路径设得怎么样,找色也是可以找到,找图就找不到,把大漠绑定窗口语句删除就能找到图,我也不知道为什么 是否成功=dm.BindWindow(窗口句柄,"dx","dx","dx",0) 是否成功1=dm.FindPic(0,0,2000,2000,"e:\\1.bmp","203040",0.9,0,X,Y) 这两句不能连在一起用吗如果把绑定语句删除,找图语句即使把(是否成功1=)这几个字删掉也可以找到图,感觉这两个语句有点冲突似的
作者: tyuyan    时间: 2012-4-26 21:10
你要确定下你的句柄是你的窗口句柄。 设置断点调试下,用AB抓抓取下窗口名称,然后在断点里面看下窗口句柄的值。 对比下。。
作者: lyttt    时间: 2012-4-26 21:31
我换成TC的后台找图代码,能找到了,用大漠的代码没反应:|不过被GM警告了:(说我使用非法程序:!
作者: yedian086    时间: 2012-4-27 12:08
新手都是这样过来的。  孩子,慢慢努力吧!




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1