TC官方合作论坛

标题: 【新手求助】大漠后台读取坐标问题,还请大家不吝赐教~(未解决,等待大神中) [打印本页]

作者: sunfield    时间: 2012-2-23 22:55
标题: 【新手求助】大漠后台读取坐标问题,还请大家不吝赐教~(未解决,等待大神中)
我想在程序中加入一个不停读游戏坐标的功能,用于判断人物是在运动过程中还是已经到目的地了。
因为代码较多就没有全部贴上来,下面只贴了读坐标的功能。
以下代码可以正常运行2-3次,也就是正确读出坐标2-3次,能读出坐标说明语句没问题哦..........之后TC程序就没有响应了(就是死掉了,鼠标放在程序界面上呈漏斗状)。刚开始以为延时太短,可是下面代码中的延时之和已经达到3秒了,延时再长也就失去意义了。还请高手指点到底哪里出现问题了,谢谢~~~~~~~~

工具版本信息:
TC:2.1
大漠:3.1208B

以下为代码:
-----------------------------------------------------------------------------------------------
功能 逻辑型 读坐标()
//这里添加你要执行的代码
字符型 坐标
标签.设置文本("标签0","开始找坐标!")  
dm.SetDict(0,"坐标.txt")
     循环(真)
            坐标 = dm.Ocr(1321,6,1382,15,"0.0.85-0.0.20",1.0)
            辅助.等待 (1000)
            标签.设置文本("标签2",坐标)
            辅助.等待 (2000)
            标签.设置文本("标签2","开始找坐标!")  
    循环结束
返回 真
//函数返回语句   
功能结束           
------------------------------------------------------------------------------------------------

经测试,上述代码中,将    坐标 = dm.Ocr(1321,6,1382,15,"0.0.85-0.0.20",1.0)              替换为            坐标 = ”123456“     可以正常运行,并在标签中循环显示 ”123456“ 。

是不是TC的循环语句,和大漠的OCR函数之间,有些什么问题呀??

郁闷了.........                                                                                                                                                                                                                                                                                            









作者: sunfield    时间: 2012-2-23 23:28
是不是太晚了,大家都去呼呼了?...................
或者谁能给我一个不读坐标来判断人物是运动或者静止的思路?相同点找色判断容易错误判断,就不用了。
作者: sunfield    时间: 2012-2-24 00:08
:-|  编程序卡在这里了  好痛苦呀
作者: Rae    时间: 2012-2-24 00:39
没必要挂一死循环吧,
写个判断?


作者: sunfield    时间: 2012-2-24 00:45
这个功能循环正常了,我就会加判断语句,如果某段时间内坐标相同就跳出循环,执行其他功能。问题是现正常在循环2次后,就死掉了。按道理应该一直循环下去的,感觉好像是什么没释放,循环2次后就不行了.....
作者: Rae    时间: 2012-2-24 01:03
回复 5楼sunfield的帖子

你有没有试过把其他代码先注释掉,单独运行这个序列呢?
着重调试下,如果还是不行,可以去了循环加上判断在测试呢?
循环正常了加判断和现在加判断没所谓,即使稳定后加判断,那也得调试吧?
只要稳定就好。
作者: cylhb    时间: 2012-2-24 01:07
建议不要死循环,先把跳出循环条件写好。。。TC主线程死循环就会这样
作者: sunfield    时间: 2012-2-24 01:22
改成循环3次或以上,效果一样,都是前两次正常,第三次开始死 。如下面:
----------------------------------------------------------------------
功能 逻辑型 读坐标()
//这里添加你要执行的代码
字符型 坐标
字符型 a
a=5
标签.设置文本("标签0","开始找坐标!")  
dm.SetDict(0,"坐标.txt")
     循环(a>0)
            坐标 = dm.Ocr(1321,6,1382,15,"0.0.85-0.0.20",1.0)
            辅助.等待 (1000)
            标签.设置文本("标签2",坐标)
            辅助.等待 (2000)
a=a-1
            标签.设置文本("标签2","开始找坐标!")  
    循环结束
返回 真
//函数返回语句
功能结束
作者: Rae    时间: 2012-2-24 01:59
回复 8楼sunfield的帖子

还在呢没?帮我看组代码?
<script type="text/javascript">
var total=0;
function check(mon){
  var mo=Number(mon);
  document.getElementById("sum").value=total+=mo;
}  
</script>
<input type="text" onBlur="check(this.value);">
<input type="text" onBlur="check(this.value);">
<input type="text" onBlur="check(this.value);">
<input type="text" onBlur="check(this.value);">
结果:<input type="text" id="sum" size="12" >

能用TC解释下?
作者: woodfish    时间: 2012-2-24 09:15
这个很有用处,可惜还没人能解决这个问题
作者: sunfield    时间: 2012-2-24 09:27
自己UP一下吧~~期待大神降临~~~~
作者: woodfish    时间: 2012-2-24 09:41
同期待,我也想知道结果




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