TC官方合作论坛

 找回密码
 立即注册
查看: 697|回复: 8
打印 上一主题 下一主题

[已解决] 又来问2个问题了哈~~~~大侠们接招哈,给采纳哦

[复制链接]
跳转到指定楼层
楼主
发表于 2012-9-4 21:23:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上加入TC

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
1、我想问在一个功能里面定义 X坐标和Y坐标,我多次使用会不会造成混乱情况?
例如:功能 逻辑型 跑镖()
                整型 X
               整型  Y
           dm.FindPic(0,0,2000,2000,"c:\\1.bmp","000000",0.9,0,X,Y)       //找图
          dm.MoveTo( X,Y)                                                                        //鼠标移动
         dm.FindPic(0,0,2000,2000,"c:\\1.bmp","000000",0.9,0,X,Y)       //再次找图
        dm.MoveTo( X,Y)                                                                         //鼠标移动

我二次移动鼠标位置 着二次鼠标移动不会造成混乱吧~~~我个人感觉应该不会~~~嘿嘿是不是~

2、着个问题比较重要   
假如我从A点移动到B点,着之间可能需要2分钟,但是有另外一个东西跟着我,它可能会在着2分钟时间随时原地停留,但是系统会提示。
我的问题是:我建立个字库  把系统提示的字输入进字库里面,然后用OCR来找,如果找到人物也立刻停止移动,
            难点是:系统提示的时间有随机性!无法把握,如果我用循环来找字,不知道这个思路行不行
   举例:
功能 逻辑型 跑镖()                  
[url=]鼠标.移动(500,1000)[/url]       //着是A到B的移动坐标点

循环(真)
是否找到=dm.FindPic(0,0,2000,2000,"c:\\1.bmp","000000",0.9,0,X,Y)      //这里设定到达目的后有一个特殊的图片,查找这个表示已经到达
如果(是否找到>=0)
跳出             //已经到达目的 跳出循环
否则            //进入另一个循环
循环(真)
//这里设置字库 和使用字库          我就不写了   

字符型 字符串=dm.Ocr(0,0,2000,2000,"9f2e3f-000000",1.0)        //找系统提示目标停止移动
如果(字符串。长度(字符串)>0)
dm.KeyPress(13)      //假设着个按键能使人物停止
[url=]辅助.等待(5000)[/url]        //着个是目标停止时间
[url=]鼠标.移动(500,1000)[/url]     //从新鼠标移动目的地
继续             //着个继续 我也是需要执行第一个循环。就是不知道执行的不是第一个循环?
否则
   继续       // 我这里有个疑问 :着个继续是继续第一个循环 还是第儿个循环?我需要是的着个继续是执行的第一个循环。            
如果结束
循环结束
如果结束
循环结束


请各位大侠参谋下我的目的是否能达到:从A到达B,并且时时检测系统提示 跟随我的东西 的否停止,如果停止人物随即也停止,然后在继续到达B点 知道到达B点结束。
希望各位好好看看哈~~~




回复

使用道具 举报

9#
发表于 2012-9-4 23:46:51 | 只看该作者
回复 8楼f45601535的帖子

对,单个的如果语句,如果没否则,则直接跳到,如果结束以后的语句
回复 支持 反对

使用道具 举报

沙发
发表于 2012-9-4 21:40:35 | 只看该作者
继续(continue)语句的是跳过循环体中剩余的语句而强行执行下一次循环。 好像不能跨循环吧
你循环里面 先找是否到终点,到了就跳出,再找 是否停下来,找一次,没停下来就重新循环,停了就相应操作,而不用把找停下来的放进一个循环里面,或者你开个线程,专门检测
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2012-9-4 21:54:44 | 只看该作者
回复 2楼梦里只影向你的帖子

其实我也想过专门开一个线程专门检测,不过遇到技术问题,不知道这样怎么做,是单独在创建个 功能吗?要是单独检测的话,如果检测到怎么传递给正在执行任务的程序呢?

还有 您可能没太看清~~~我第一个循环 找到后直接跳出   
                                       而第2个循环在第一个循环里面的否则内 按数学方式表达是 :第一个循环>第儿个循环。我第一个跳出是跳出的第一个循环相对来说也不会执行第2个循环了~~~
                                         请你在好好看看
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2012-9-4 22:10:53 | 只看该作者
不对不对,我自己发现 继续的循环不是我想要的循环~~~~~~
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2012-9-4 22:24:24 | 只看该作者
我自己又想出个办法:看看这样行不 请大家来看下
功能 逻辑型 跑镖()                  
[url=]鼠标.移动(500,1000)[/url]       //着是A到B的移动坐标点

循环(真)
是否找到=dm.FindPic(0,0,2000,2000,"c:\\1.bmp","000000",0.9,0,X,Y)      //这里设定到达目的后有一个特殊的图片,查找这个表示已经到达
如果(是否找到>=0)
跳出             //已经到达目的 跳出循环
如果结束
//这里设置字库 和使用字库          我就不写了   

字符型 字符串=dm.Ocr(0,0,2000,2000,"9f2e3f-000000",1.0)        //找系统提示目标停止移动
如果(字符串。长度(字符串)>0)
dm.KeyPress(13)      //假设着个按键能使人物停止
[url=]辅助.等待(5000)[/url]        //着个是目标停止时间
[url=]鼠标.移动(500,1000)[/url]     //从新鼠标移动目的地            
如果结束
循环结束


这里我只设定一个循环 和2个如何 ,我的思路是 “要是如果条件不满足直接进入下一个如果还不满足就继续循环,知道第一个如果跳出为止~着个思路对吗?
回复 支持 反对

使用道具 举报

6#
发表于 2012-9-4 22:32:01 | 只看该作者
我觉得可以。。
回复 支持 反对

使用道具 举报

7#
发表于 2012-9-4 22:37:28 | 只看该作者
对,就是这个思路,你试试看,在游戏里
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2012-9-4 23:04:42 | 只看该作者
回复 7楼梦里只影向你的帖子

谢谢梦里哥的肯定,我想私下问下你:”如果语句“没达到执行要求是不是就不执行着个如果语句了,而是继续执行这个如果结束以后的语句?
回复 支持 反对

使用道具 举报

*滑动验证:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /2 下一条

关闭

小黑屋|TC官方合作论坛 (苏ICP备18043773号

GMT+8, 2025-10-12 06:32 , Processed in 0.148115 second(s), 24 queries .

Powered by 海安天坑软件科技有限公司

© 2001-2013 Comsenz Inc.

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