[手机按键备忘]添加几个函数
Function 等待找图消失(找图数组,等待时间) //间隔默认设置为100毫秒把 For cint(等待时间*10) If 找图(找图数组) = -1 Then Exit For End If Delay 100 Next End Function Function 等待找图出现(找图数组,等待时间) //间隔默认设置为100毫秒把 For cint(等待时间*10) If 找图(找图数组) > -1 Then Exit For End If Delay 100 Next End Function Function 等待多点找色消失(多点找色数组,等待时间) //间隔默认设置为100毫秒把 For cint(等待时间*10) If 多点找色(多点找色数组) = -1 Then Exit For End If Delay 100 Next End Function Function 等待多点找色出现(多点找色数组,等待时间) //间隔默认设置为100毫秒把 For cint(等待时间*10) If 多点找色(多点找色数组) > -1 Then Exit For End If Delay 100 Next End Function Function 等待多点bi色消失(多点bi色数组,等待时间) //间隔默认设置为100毫秒把 For cint(等待时间*10) If 多点bi色(多点bi色数组) = -1 Then Exit For End If Delay 100 Next End Function Function 等待多点bi色出现(多点bi色数组,等待时间) //间隔默认设置为100毫秒把 For cint(等待时间*10) If 多点bi色(多点bi色数组) > -1 Then Exit For End If Delay 100 Next End Function
231
这些函数只是为了解决几个问题
问题1:打个比方 我们平时的结构基本都是循环结构 循环套循环 打个比方如下面
do
if 找图(找图_游戏主界面)>-1 then
tap 400,1040//点击主界面右上关闭按钮
end if
delay 50
loop
我们循环跑起来 遇到了游戏主界面 脚本发现了这个界面自然会点击游戏主界面右上的关闭按钮 但是app本身关闭某个界面 有一个反应时间 我们点击了右上的关闭按钮 后并不是马上该界面就消失了 需要一点点的反应时间 如果我们的脚本循环间隔太小 那么我们第一次发现游戏主界面点击右上关闭按钮 50毫秒后脚本再次查看手机界面 可能游戏主界面没有反应完 还存在 脚本认为当前还是游戏主界面 又多点击了一下右上的关闭按钮坐标 实际上我们是点击了游戏主界面2次 而第二次点击的时候 游戏主界面可能已经消失了导致我们点击到了其他界面上 产生了误操作和误点击 出现一些意料之外的界面 为了防止这个情况 我们可以这样
do
if 找图(找图_游戏主界面)>-1 then
tap 400,1040//点击主界面右上关闭按钮
call 等待找图消失(找图_游戏主界面,5) //这个函数的意思是 在这里等待 等待找不到游戏主界面 或者 最多等5秒 这样就避免了一个界面产生多个重复操作
end if
delay 50
loop
问题2:有的时候 我们点击游戏主界面的按钮 比如副本按钮把 系统有一个反应时间 点击了副本按钮后 会短暂的进入了另外1个界面 然后系统才反应了过来帮我们导入到副本界面,这个短暂进入的界面 如果是完全不相关的界面倒也没什么 但是一旦是在我们流程内也频繁出现的界面 那么就很有可能导致一个误判和误操作 因为点击副本后出现的那个临时界面只是一闪而过的马上消失了 一旦我们流程中有这个界面的正常应对 比如点击该界面的某个坐标 那么因为她一闪而过的特殊情况 结果是我们脚本判断出的这个一闪而过的界面的对应点击很可能点击到了随后痴线的副本界面的对应位置 ,所以我们要这么写 能保证过滤掉这个一闪而过的额外情况
do
if 找图(找图_游戏主界面)>-1 then
tap 400,600//点击副本按钮
call 等待找图出现(找图_副本界面,10) //这个函数的意思是 在这里等待 等待找到副本界面 或者 最多等10秒 这样就避免了临时出现的这种一闪而过的额外界面的干扰
end if
delay 50
loop
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 使用C#创建一个MCP客户端
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列1:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现