
因为你的文本=“-1|-1|-1”,导致你的文本数组是个空数组,所以会提示数组成员下标引用出错。不知道你绑定窗口的方式是哪个方式,如果是“normal”方式,那么登录窗口是不能被遮挡的,一般都选择“dx”或“gdi”绑定方式,你的问题肯定出在这里,祝你成功
一步一步的排除:
首先看一下这个图是否为动态图,一般跳舞类游戏都是特效比较丰富,如果是动态图,需要将同一个图截取多帧,以多图的方式找这一个图!
前后台问题,如果大漠绑定窗口的时候,是前台图色模式,应该没多大问题,如果是后台图色模式,需要测试后台游戏窗口画面是否刷新!
范围问题,如果是在游戏最大化的时候取的范围坐标,前台模式下,基本不会出现问题,如果窗口化的时候取的范围坐标,请注意,窗口移动位置,就会导致坐标范围内找不到图!
函数简介:在屏幕范围(x1,y1,x2,y2)内,查找string(可以是任意个字符串的组合),并返回符合color_format的坐标位置,相似度sim同Ocr接口描述(多色,差色查找类似于Ocr接口,不再重述)易语言用不了FindStr可以用此接口来代替函数原型:
string
FindStrE(x1,y1,x2,y2,string,color_format,sim)参数定义:
x1 整形数:区域的左上X坐标
y1 整形数:区域的左上Y坐标
x2
整形数:区域的右下X坐标
y2 整形数:区域的右下Y坐标
string 字符串:待查找的字符串, 可以是字符串组合,比如"长安|洛阳|大雁塔",中间用"|"来分割字符串
color_format 字符串:颜色格式串,
可以包含换行分隔符,语法是","后加分割字符串 具体可以查看下面的示例注意,RGB和HSV格式都支持
sim 双精度浮点数:相似度,取值范围01-10
返回值:字符串:
返回字符串序号以及X和Y坐标,形式如"id|x|y", 比如"0|100|200",没找到时,id和X以及Y均为-1,"-1|-1|-1"示例:
pos =
dmFindStrE(0,0,2000,2000,"长安","9f2e3f-000000",10)
pos =
split(pos,"|")
If int(pos(0)) >= 0 Then
dmMoveTo int(pos(1)),int(pos(2))
End
If pos =
dmFindStrE(0,0,2000,2000,"长安|洛阳","9f2e3f-000000",10)
pos =
split(pos,"|")
If int(pos(0)) >= 0 Then
dmMoveTo int(pos(1)),int(pos(2))
End
If// 查找时,对多行文本进行换行,换行分隔符是"|" 语法是在","后增加换行字符串任意字符串都可以
pos = dmFindStrE(0,0,2000,2000,"长安|洛阳","9f2e3f-000000,|",10)
pos =
split(pos,"|")
If int(pos(0)) >= 0 Then
dmMoveTo int(pos(1)),int(pos(2))
End
If 注:
此函数的原理是先Ocr识别,然后再查找。所以速度比FindStrFastE要慢,尤其是在字库
很大,或者模糊度不为10时。一般字库字符数量小于100左右,模糊度为10时,用FindStrE要快一些,否则用FindStrFastE
以上就是关于易语言下用大漠命令FindStrE取被识别文字的坐标时返回的数据是空的 不是坐标数据 也不是-1|-1|-1全部的内容,包括:易语言下用大漠命令FindStrE取被识别文字的坐标时返回的数据是空的 不是坐标数据 也不是-1|-1|-1、大漠找图找不到是怎么回事,设置了范围、易语言调用大漠怎么得到找字返回的坐标等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)