TC官方合作论坛

标题: 请教找图返回坐标的问题 [打印本页]

作者: 花落莫相离    时间: 2015-6-28 17:06
标题: 请教找图返回坐标的问题
本帖最后由 花落莫相离 于 2015-6-28 17:10 编辑

我的目的是想封装一段函数,通过返回值值1或者-1判断找图是否成功,如果成功,返回1和坐标x,y,不成功返回-1
下边是我的处理方法,水平显然很渣,我是想学习一下,有没有什么好的办法,不用我这么麻烦

先封装一段函数
  1. 功能 找图返回坐标(x1,y1,x2,y2,图片名)
  2. 变量 x,y
  3. 循环(真)
  4. dm.FindPic(x1,y1,x2,y2,图片名,"000000",0.9,0,x,y)
  5. 如果(x>0&&y>0)
  6. 返回 1&"|"&x&"|"&y
  7. 跳出
  8. 否则
  9. 返回 -1

  10. 结束
  11. 结束
  12. 结束
复制代码

再传参获取返回值
  1. 变量 x,y,返回值,ret=数组()
  2.           字符串分割(找图返回坐标(0,0,2000,2000,"边框.bmp",dm),"|",ret)
  3.         如果(数组大小(ret)>0)
  4.             返回值=ret[0]
  5.             x=ret[1]
  6.             y=ret[2]  
  7.         结束
复制代码

作者: 这论坛不错    时间: 2015-6-28 17:14
搞不明白你为什么要用循环,找到返回1还跳出,返回了还跳出做什么,没找到返回-1,循环的作用在哪里?
作者: 花落莫相离    时间: 2015-6-28 18:55
这论坛不错 发表于 2015-6-28 17:14
搞不明白你为什么要用循环,找到返回1还跳出,返回了还跳出做什么,没找到返回-1,循环的作用在哪里? ...

找图的环境不是静态的,需要循环一直找图,直到找到才返回坐标跳出循环,
至于为什么返回值1和-1
TC随着版本的不同或者api的不同返回值也在变化着,返回值可能是1,-1或者是0
在这段函数中,我将返回值自己定义为1和-1,表示成功和失败,是为了让自己更容易区分
作者: 这论坛不错    时间: 2015-6-28 19:19
花落莫相离 发表于 2015-6-28 18:55
找图的环境不是静态的,需要循环一直找图,直到找到才返回坐标跳出循环,
至于为什么返回值1和-1
TC随着版本 ...

你还不明白?不管找到还是没找到,你都返回了,你这个循环有意义?还有你找到了,既然返回了,后面还要跳出做什么?能运行到跳出吗?
作者: 花落莫相离    时间: 2015-6-29 08:53
这论坛不错 发表于 2015-6-28 19:19
你还不明白?不管找到还是没找到,你都返回了,你这个循环有意义?还有你找到了,既然返回了,后面还要跳 ...

额,你是对的
作者: 闲庭信步    时间: 2015-6-29 17:33
功能 找图返回坐标(x1,y1,x2,y2,图片名)
变量 x,y
  循环(真)
     dm.FindPic(x1,y1,x2,y2,图片名,"000000",0.9,0,x,y)
     如果(x>0&&y>0)
     变量 返回值=数组()
            返回值[0]=x
            返回值[1]=y
            返回 返回值
       结束
   结束
结束
变量 返回xy = 找图返回坐标(x1,y1,x2,y2,图片名)
如果(是否数组(返回xy))
    调试输出("图片x="&返回xy[0]&"图片y="&返回xy[1])
结束

作者: tan0360    时间: 2015-6-29 19:59
他的意思是返回后就直接结束这个函数了,,,。




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