|
马上加入TC
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
关键是调试的时候不能同时在游戏里执行 不然就自己判断了!请遇到过的大神们帮忙讲解一下这样会不会有问题
function bool detect()
int dx,dy
while(true)
dm.FindStr(x1,y1,x2,y2,"xxx","ffffff-000000",1.0,dx,dy)
if(dx>0)
......各种处理鼠标移动 键盘等等
else
break
endif
endwhile
dx=-1
dy=-1
return true
endfunction
以上代码
线程1 访问 并且执行到 if(dx>0)的各种语句里去了 并未执行完毕 dx这个时候是个正数 得到了找字的左上坐标
然后这个时候线程1暂停挂起了。。
然后线程2 同时也访问这个功能了 。。。。。这个时候 dx的值是线程1赋予的那个值吗 如果是这样。。。
如果线程2 找不到xxx这个字 也会执行if(dx>0) 下面的各种操作 那不是bug了吗
我可以多些几个相同的功能分别给不同的线程调用防止这样的事 发生
但是我不知道上面的结论会不会出现
请教!
|
|