|
6#

楼主 |
发表于 2012-9-15 16:33:26
|
只看该作者
1.为什么要暂停:情况是这样,线程是实现一个扫描和采矿的功能.被人故意杀死后会复活到别的地方(墓地).这时要暂停扫描否则他在路上乱跑见矿就走过去.就不能实现定点采了..从死亡后自动复活,还有一个自动回到死亡点的函数要调用,也是为了不起冲突,先停掉扫描矿点,等自动复活跑回到原点再恢复扫描功能.
2.这里选择暂停线程是因为:在扫描和采矿的线程中有个大漠绑定语句.[dm.bindwindow(hwnd,"dx","dx","dx",0)]之前也有论坛里的朋友给提过意见,在线程功能里用 mainflag=true这种进行控制,死亡后跳出线程.并且调用大漠解绑该绑定,
造成结果:这种情况和我直接停止线程运行结果是一样.由于多次的绑定造成一个游戏窗口假死的情况.就是鼠标和键盘,连脚本的动作都不能实现了.这时的游戏窗口也只能通过任务管理器来关闭,再重新开启游戏绑定.
3.采用暂停和恢复线程,这种不断绑定窗口的现像就可以不发生了
现在最大的问题是:线程能正常暂停,也能正常恢复,从返回值来判断的结果.但实际上是这边返回值说成功,但实际上线程并没有接着去持行以前的操作.也就是实际上恢复线程是失败的.
|
|