TC官方合作论坛

 找回密码
 立即注册
查看: 2083|回复: 11

[已解决] 新手代码问题~!来大神帮下忙。

[复制链接]
发表于 2014-10-13 23:16:24 | 显示全部楼层 |阅读模式

马上加入TC

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

x
本帖最后由 whsxin 于 2014-10-13 23:22 编辑

功能 自动()
    循环(真)
        图像序号=图像.找图(0,0,800,600,"rc:伊斯塔级.bmp",0,0.8,3,图片X坐标,图片Y坐标)
        如果(图片X坐标>0)
            辅助.等待(200)
            鼠标.移动(图片X坐标+15,图片Y坐标+5)
            辅助.等待(200)
            鼠标.左键单击(1)
            辅助.等待(200)
            跳出
        如果结束
    循环结束
功能结束

这组代码~找到图后左键单击一下,不能多点,然后图片会消失再随机出现。代码如果不加跳出命令就会一直点 一直点。
但是加了跳出命令虽然能实现找到图后只点一次,但下次图片消失再出现的时候就不找图了。这种情况要怎么实现。

主要问题就是:如何实现每次图片消失再出现后 鼠标都去点一次,然后无限循环这步动作。


回复

使用道具 举报

发表于 2014-10-14 11:28:14 | 显示全部楼层
找图的时候  图片X坐标,图片Y坐标  这2个参数不要设置全局变量
不然你下面判断 图片X坐标>0的时候 会受到干扰

功能 自动()
    循环(真)
        图片X坐标,图片Y坐标
        图像序号=图像.找图(0,0,800,600,"rc:伊斯塔级.bmp",0,0.8,3,图片X坐标,图片Y坐标)
        如果(图片X坐标>0)
            辅助.等待(200)
            鼠标.移动(图片X坐标+15,图片Y坐标+5)
            辅助.等待(200)
            鼠标.左键单击(1)
        如果结束
        辅助.等待(1000)  //如果图片消失的比较慢 自行加大延迟
    循环结束
功能结束
回复 支持 1 反对 0

使用道具 举报

发表于 2014-10-14 08:43:36 | 显示全部楼层
弄个全局变量 LastPoint 保存最后一次图片出现的坐标 每次找到图片后 都判断下坐标如果=LastPoint就忽略 如果不一样就去点然后再设置新的全局变量LastPoint
回复 支持 1 反对 0

使用道具 举报

 楼主| 发表于 2014-10-13 23:30:21 | 显示全部楼层
求救 求救~来大神啊{:soso_e130:}
回复 支持 反对

使用道具 举报

发表于 2014-10-13 23:31:46 | 显示全部楼层
本帖最后由 whsxin 于 2014-10-13 23:22 编辑


功能 自动()
    循环(真)
        图像序号=图像.找图(0,0,800,600,"rc:伊斯塔级.bmp",0,0.8,3,图片X坐标,图片Y坐标)
        如果(图片X坐标>0)
            
            鼠标.移动(图片X坐标+15,图片Y坐标+5)
            辅助.等待(200)
            鼠标.左键单击(1)
         
         
        如果结束


  辅助.等待(400)
    循环结束
功能结束



//////////加点延时试试    死循环不加延时很容易出问题

回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-13 23:33:13 | 显示全部楼层
本帖最后由 whsxin 于 2014-10-13 23:34 编辑

不是延迟的问题!!主要是消失和出现的时候都是随机的。
这个是在线程中启动的代码。
回复 支持 反对

使用道具 举报

发表于 2014-10-13 23:41:23 | 显示全部楼层
本帖最后由 秋来潮汐 于 2014-10-13 23:43 编辑

在外面再套一个循环
回复 支持 反对

使用道具 举报

发表于 2014-10-13 23:42:17 | 显示全部楼层
本帖最后由 mzbqhbc 于 2014-10-13 23:45 编辑
whsxin 发表于 2014-10-13 23:33
不是延迟的问题!!主要是消失和出现的时候都是随机的。
这个是在线程中启动的代码。
...

功能 自动()
    循环(真)
        图像序号=图像.找图(0,0,800,600,"rc:伊斯塔级.bmp",0,0.8,3,x,y)
        如果(图像序号!=-1)
            调试输出(x&","&y)
            鼠标.移动(图片X坐标+15,图片Y坐标+5)
            辅助.等待(200)
            鼠标.左键单击(1)
         
         
        如果结束


  辅助.等待(400)
    循环结束
功能结束



//////就我看来 一个是延时没有加对地方  ,可能会导致线程卡死出现异常导致找图的返回X坐标和Y坐标返回异常,   还有个可能是你的图片X坐标 和图片Y坐标  是否设置的是全局变量  而在其他线程中  其他的线程改变了这个全局变量  当然也是我的猜想  可以加点调试输出看看  而如果判断使用图像序号判断
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-14 00:08:37 | 显示全部楼层
秋来潮汐 发表于 2014-10-13 23:41
在外面再套一个循环

试了~外面加层循环~还是会一直点。图片每次出现都能找到~!但是找到后就一直的点图片~~!
因为图片的出现与消失是随机的,加延迟没什么大帮助~!有没有什么命令 当图片出现鼠标点一次。当图片再次出现鼠标再去点一次。依次无限循环下去
回复 支持 反对

使用道具 举报

发表于 2014-10-14 10:25:04 | 显示全部楼层
whsxin 发表于 2014-10-14 00:08
试了~外面加层循环~还是会一直点。图片每次出现都能找到~!但是找到后就一直的点图片~~!
因为图片的出现 ...

在找图之前把:图片X坐标=0
回复 支持 反对

使用道具 举报

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

本版积分规则

关闭

推荐上一条 /2 下一条

关闭

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

GMT+8, 2024-9-28 10:43 , Processed in 0.055742 second(s), 24 queries .

Powered by 海安简单软件服务部

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

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