开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 1802|回复: 11
打印 上一主题 下一主题
收起左侧

[易语言] 找图死循环实时检测崩溃

[复制链接]
结帖率:0% (0/2)
跳转到指定楼层
楼主
发表于 2022-6-25 18:42:10 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式   河南省濮阳市
15精币
追求速度,这个死循环运行一会就被退出去了(易语言自动触发:被调试易程序运行完毕),不知道什么原因,代码写的很乱,大佬帮忙优化一下
  
窗口程序集名保 留  保 留备 注
程序集1   
变量名类 型数组备 注
线程ID整数型  
找图高仿大漠  
intX整数型  
intY整数型  
句柄整数型  
值1整数型  
值2整数型  
循环逻辑型  

子程序名返回值类型公开备 注
__启动窗口_创建完毕  

子程序名返回值类型公开备 注
_按钮_确认_被单击  
音乐_播放 (“二技能好了.wav”, “2”)
找图.绑定窗口 (336544)  ' 第一步务必要记得绑定窗口句柄
找图.图片路径 (“D:\易语言\图片保存”)  ' 找图功能需要指定保存bmp图片的路径
循环 = 真
线程_启动 (&找图监控, , )
计次循环首 (100000000, )
值2 = 找图.FindMulColor_查找指定区域内的所有颜色 (268, 384, 391, 393, “27252d|ffe4f4|f197d0|a57096|ecb1de|ffbaec|f5c5e2|ebb8e3|9e6e93|e084c2”, 80)
如果真 (值1 ≠ -1 值2 = 1)
音乐_暂停 (“2”)
延时 (490)
音乐_播放 (“二技能好了.wav”, “2”, )

处理事件 ()
延时 (30)
计次循环尾 ()
子程序名返回值类型公开备 注
找图监控  
线程_初始化COM库 ()
判断循环首 (循环)
值1 = 找图.FindPic_找图返_单坐标 (719, 270, 769, 322, “释放二技能.bmp|释放二技能2”, “303030”, 70, 0, intX, intY)
延时 (10)
判断循环尾 ()
线程_取消COM库 ()


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:88% (79/90)

签到天数: 23 天

沙发
发表于 2022-6-25 19:00:01 | 只看该作者   四川省南充市
加个  处理事件  循环里面
回复

使用道具 举报

结帖率:0% (0/2)
板凳
 楼主| 发表于 2022-6-25 19:27:12 | 只看该作者   河南省濮阳市
一C 发表于 2022-6-25 19:00
加个  处理事件  循环里面

不行,有事件没有延时一下就崩了,只有延时30秒左右就蹦了,有延时有事件能相对坚持久一会,但很快还是会崩
回复

使用道具 举报

结帖率:100% (6/6)
地板
发表于 2022-6-25 19:29:12 | 只看该作者   四川省遂宁市
“释放二技能.bmp|释放二技能2”
“释放二技能.bmp|释放二技能2.bmp” 少后缀了。
回复

使用道具 举报

结帖率:100% (6/6)
地下
发表于 2022-6-25 19:39:05 | 只看该作者   四川省遂宁市
另外。可以自己添加一个子程序,找图片名,改成找图片字节集数组,启动软件时,就把需要找的图先读到字节集数组里面。,否则原本的每次读取都得去读一次图片文件到字节集
简单搞了下,你试试看能不能用吧。

  
子程序名返回值类型公开备 注
FindPic_找图返_单坐标_字节集整数型 返回找到的图片的序号,从0开始索引.如果没找到返回-1
参数名类 型参考可空数组备 注
X1整数型x1 整形数:区域的左上X坐标
Y1整数型y1 整形数:区域的左上Y坐标
X2整数型x2 整形数:区域的右下X坐标
Y2整数型y2 整形数:区域的右下Y坐标
图字节集数组字节集图片名,可以是多个图片,比如"test.bmp|test2.bmp|test3.bmp"    图像数据必须是24位格式无压缩的BMP图像
颜色色偏文本型 :颜色色偏比如"203040" 表示RGB的色偏分别是20 30 40 (这里是16进制表示)
相似度整数型相似度,取值范围 1 到 100
查找方向整数型:查找方向 0: 从左到右,从上到下 1: 从左到右,从下到上 2: 从右到左,从上到下 3: 从右到左, 从下到上
intX整数型返回识别到的X坐标,没找到返回-1
intY整数型返回识别到的Y坐标,没找到返回-1
变量名类 型静态数组备 注
临时变量_1整数型 
临时变量_2整数型 
临时变量_3整数型 
大图宽度整数型 
大图高度整数型 
小图宽度整数型 
小图高度整数型 
大图字节集 
小图字节集 
图像名称数组文本型0
序号1整数型 
图像位数整数型 
ccx整数型 
m整数型 
判断是否重复文本文本型 
判断是否重复字节集字节集 
如果真 (X1 > X2)
临时变量_1 = X1
临时变量_2 = X2
X1 = 临时变量_2
X2 = 临时变量_1
如果真 (Y1 > Y2)
临时变量_1 = Y1
临时变量_2 = Y2
Y1 = 临时变量_2
Y2 = 临时变量_1
颜色色偏 = 取文本左边 (矫正色彩描述 (颜色色偏), 6)
如果真 (相似度 < 0 相似度 > 100)
相似度 = 95
如果真 (查找方向 < 0 查找方向 > 3)
查找方向 = 0
如果真 (取数组成员数 (图字节集数组) = 0)
信息框 (“图片名参数不能为空”, 0, , )
intX = -1
intY = -1
临时变量_1 = -1
返回 (临时变量_1)
大图 = 窗口截图 (全局窗口句柄, X1, Y1, X2, Y2)
大图宽度 = 取字节集数据 (取字节集中间 (大图, 19, 4), #整数型, )
大图高度 = 取字节集数据 (取字节集中间 (大图, 23, 4), #整数型, )
图像位数 = 取字节集数据 (取字节集中间 (大图, 29, 2), #短整数型, )
如果真 (图像位数 ≠ 24)
信息框 (“当前截图数据为”到文本 (图像位数)“位,”“截图数据必须是24位格式无压缩的BMP图像”, 0, , )
intX = -1
intY = -1
临时变量_1 = -1
返回 (临时变量_1)
判断是否重复文本 = “”
变量循环首 (1, 取数组成员数 (图字节集数组), 1, 序号1)
如果真 (图字节集数组 [序号1]{  })
到循环尾 ()
如果 (寻找字节集 (判断是否重复字节集, 到字节集 (“|”) + 图像名称数组 [序号1], 0) = -1)
判断是否重复字节集 = 判断是否重复文本 + 到字节集 (“|”) + 图像名称数组 [序号1]



小图 = 图像名称数组 [序号1]
如果真 (取字节集左边 (小图, 2){ 66, 77 })
intX = -1
intY = -1
临时变量_1 = -1
到循环尾 ()
小图宽度 = 取字节集数据 (取字节集中间 (小图, 19, 4), #整数型, )
小图高度 = 取字节集数据 (取字节集中间 (小图, 23, 4), #整数型, )
图像位数 = 取字节集数据 (取字节集中间 (小图, 29, 2), #短整数型, )
如果真 (小图宽度 > 大图宽度 小图高度 > 大图高度 图像位数 ≠ 24)
如果真 (图像位数 ≠ 24)
信息框 (“当前小图数据为”到文本 (图像位数)“位,”“小图数据必须是24位格式无压缩的BMP图像”, 0, , )
intX = -1
intY = -1
临时变量_1 = -1
到循环尾 ()
临时变量_1 = 位图找图返单坐标_汇编 (大图, 小图, 0, 0, 大图宽度 - 1, 大图高度 - 1, 颜色色偏, 相似度, 查找方向, intX, intY)
如果真 (临时变量_1 = 0)
intX = intX + X1
intY = intY + Y1
返回 (序号1 - 1)

变量循环尾 ()
返回 (-1)


回复

使用道具 举报

结帖率:0% (0/2)
6
 楼主| 发表于 2022-6-25 21:14:55 | 只看该作者   河南省濮阳市
闻v风 发表于 2022-6-25 19:39
另外。可以自己添加一个子程序,找图片名,改成找图片字节集数组,启动软件时,就把需要找的图先读到字节集 ...

是把图片名转成字节集吗 感觉并不怎么实用啊 还是我不会用啊
回复

使用道具 举报

结帖率:100% (6/6)
7
发表于 2022-6-25 22:07:28 | 只看该作者   四川省遂宁市
是在启动软件时,把所有需要找的图,全读入字节集里面啊。。
不然每次找图都会按图片名,先读图片,再找的。。明白了吧?
回复

使用道具 举报

结帖率:0% (0/2)
8
 楼主| 发表于 2022-6-25 22:12:29 | 只看该作者   河南省濮阳市
闻v风 发表于 2022-6-25 22:07
是在启动软件时,把所有需要找的图,全读入字节集里面啊。。
不然每次找图都会按图片名,先读图片,再找的 ...

懂了,谢谢大佬,感觉很有用,我去试试
回复

使用道具 举报

结帖率:0% (0/2)
9
 楼主| 发表于 2022-6-25 22:22:45 | 只看该作者   河南省濮阳市
闻v风 发表于 2022-6-25 19:39
另外。可以自己添加一个子程序,找图片名,改成找图片字节集数组,启动软件时,就把需要找的图先读到字节集 ...

大佬呀,能把要传的图片字节集参数格式给我吗,给个模板,我刚用图色,把图片转到字节集的命令都找不到
回复

使用道具 举报

结帖率:100% (6/6)
10
发表于 2022-6-25 23:03:52 | 只看该作者   四川省遂宁市


大概写了下。差不多就是这个意思吧。
你自己敲一下代码,论坛有检测,我直接发代码,又得等审核过了, 才能发出回复了。。
这只是个我自己想的思路,你可以扩展下。
比如把图片名,放到配置文件。再用批量读配置的方式,启动的时候,直接自动读所有图片。
回复

使用道具 举报

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

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:[email protected]
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

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