TC官方合作论坛

标题: 检测地图不会条件结束循环? [打印本页]

作者: pe0668    时间: 2013-1-14 15:23
标题: 检测地图不会条件结束循环?
本人新手,才玩TC几天,准备写个检测地图脚本,如果发现没找到图片就结束循环,如果发现图片继续循环的,但是发现不会结束循环,也不会继续循环,不知道错在哪里,发出来求助一下,望高手指点!
   //开始检测是否到龙牙地图
功能 检测地图()
    循环(真)
    图片X坐标,图片Y坐标,图像序号
    图像序号=图像.找图(0,0,1280,1024,"rc:检测地图边境.bmp",#102030,0.1,0,图片X坐标,图片Y坐标)
    辅助.等待(200)
    如果(图像序号>0)
      辅助.等待(5000)  
      //这里希望它回到继续循环找图的地方
    否则
        跳出
      //这里希望它跳到进入龙牙地图以后的脚本继续进行
    如果结束
    循环结束
功能结束
//进入龙牙地图
功能 继续刺探()
    辅助.等待(500)

作者: chenxiaoman    时间: 2013-1-14 15:38
循环(真)
循环结束
作者: pe0668    时间: 2013-1-14 15:49
循环(真)
循环结束
chenxiaoman 发表于 2013-1-14 15:38:11

谢谢指点,不过还是不会继续执行下面的脚本!
作者: chenxiaoman    时间: 2013-1-14 16:01
回复 3楼pe0668的帖子

个你说下思路吧.
标记:
循环(真)
     图片X坐标,图片Y坐标,图像序号
    图像序号=图像.找图(0,0,1280,1024,"rc:检测地图边境.bmp",#102030,0.1,0,图片X坐标,图片Y坐标)
    辅助.等待(200)
    如果(图像序号==0)
      辅助.等待(5000)
     如果=0这里说明找到如果你想让他找到跳入到那个子程序你就  
     空间名.进入龙牙地图
   跳出
否则
goto 标记    //这里让他跳回到标记继续找.
如果结束
循环结束
功能结束


希望采纳!!!
作者: 498518599    时间: 2013-1-14 16:08
遍历 (次数)

跳出                            ////加个条件可以跳出

遍历结束
作者: pe0668    时间: 2013-1-14 18:29
回复 3楼pe0668的帖子

个你说下思路吧.
标记:
循环(真)
     图片X坐标,图片Y坐标,图......
chenxiaoman 发表于 2013-1-14 16:01:58

又按你的写法试了一下,还是不行,感觉问题出在这句
    如果(图像序号>0)
我又另外写了一个
    功能 领任务()
循环(真)

   ... ...
  //检测任务
    图片X坐标,图片Y坐标,图像序号
    图像序号=图像.找图(0,0,1280,1024,"rc:检测李婆婆.bmp",#102030,0.1,0,图片X坐标,图片Y坐标)
    辅助.等待(200)

如果(图像序号>0)
    辅助.等待(200)
    超级键盘.按键(27,1)
    辅助.等待(200)

    ... ...
    辅助.等待(1000)
否则
    图片X坐标,图片Y坐标,图像序号
    图像序号=图像.找图(0,0,1280,1024,"rc:放弃任务.bmp",#102030,0.1,0,图片X坐标,图片Y坐标)
    辅助.等待(200)
    超级鼠标.移动(图片X坐标+15,图片Y坐标+5)
    辅助.等待(200)
    超级鼠标.左键单击(1)
    辅助.等待(500)

但是它找到图后也是直接跳到否则下面的句子运行,本来找到图就应该在如果下面运行才合理的,所以我感觉应该是判断图这里写错了,继续求真相!



作者: chenxiaoman    时间: 2013-1-14 20:01
回复 6楼pe0668的帖子

我真晕... 我上面的只是给你举个例子   如果(图像序号==0)  这个是我随便写啊.
汗...  你可以用 消息框 来测试下返回值是多少.然后再继续.

判断一个图标是否找到 你要知道他的返回值是什么  比如找到返回0  没找到返回-1
然后根据返回值来判断就OK了
如果(返回值==0)
XXXX
否则
XXXX
如果结束
这样的多好...或者不用循环让他 GOTO回去继续找也可以.还是建议你测试不懂来 TC15群问我.
作者: pe0668    时间: 2013-1-14 21:16
成功完成
检测图片要这样写的

  返回的x坐标=0,返回的y坐标=0
    图像序号=图像.找图(0,0,1280,1024,"rc:检测李婆婆.bmp",#203040,1.0,0,返回的x坐标,返回的y坐标)
    如果(图像序号>=0)
    辅助.等待(200)

作者: 418958500    时间: 2013-1-16 04:09
图像.找图(0,0,1280,1024,"rc:检测地图边境.bmp",#102030,0.1,0,图片X坐标,图片Y坐标)

这个返回值是找到的图片的需序号,你就一个图片,找到返回0,找不到返回-1
你要了解语法本身,而不是你的代码结构
作者: csc100    时间: 2013-1-16 09:31
goto你妹啊,现在哪里有这个!




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