TC官方合作论坛
标题:
多线程 如何 暂停别的线程?
[打印本页]
作者:
小柴
时间:
2012-10-20 14:14
标题:
多线程 如何 暂停别的线程?
一条线程用来 放辅助技能 辅助技能需要吟唱..如何 在辅助技能释放的时候 先暂停另外一条线程的滚键盘按技能?
作者:
rpdw411
时间:
2012-10-20 14:19
高手啊,辅助技能分2个线程写,要摸就加个如果判断,要摸就用时间判断
作者:
从来没赢过
时间:
2012-10-20 14:28
临界区
作者:
feng123144
时间:
2012-10-20 14:41
临界区或是开另一个线程前暂停现在线程句柄
作者:
die13719076310
时间:
2012-10-20 14:47
//要释放辅助技能线程了
暂停技能线程
//辅助技能
//释放辅助技能完毕
恢复技能线程
前提是 技能线程 里不能包含 辅助技能线程 才会奏效否则无效
作者:
saga
时间:
2012-10-20 14:56
如果辅助技能短时间有效(比如30秒 ) 那么直接当一般技能处理 如果时效比较长(3分钟 10分钟 )这样的可以在一般技能释放的代码中加个时间判断 来及时释放辅助.没必要另外开辟线程.
作者:
saga
时间:
2012-10-20 15:02
给个伪代码:
int X=0
if(条件成立) //这个条件就是释放一般技能的条件 比如说打怪 PK等等
循环(true)
技能1释放....
** X=X+x //x是这个技能的释放时间和冷却时间总和
技能2释放....
**
技能3释放.....
**
.............
**
技能N释放....
if(时间>=X) //这个时间 你可以根据一般技能的释放时间和冷却时间来计算X是否达到了该释放辅助的要求
辅助释放
endif
循环结束
endif
作者:
小柴
时间:
2012-10-20 23:27
回复
7楼
saga
的帖子
就是 这个 就可以 即便在循环里 只要时间没到 他不会重复执行了是不/>
作者:
saga
时间:
2012-10-21 00:33
对的.. 重点就是时间的计算上 辅助技能嘛 能早上就早上 超过了坚持时间对角色的属性什么的都有影响 所以时间可以稍微短上一些 比冷却时间长 这个尺度你自己看着给 哈.
作者:
418958500
时间:
2012-10-21 04:55
线程1 辅助技能
辅助技能按键
线程2 主技能
循环(1>0)
主技能按键
循环结束
线程3 时间计算
循环(1>0)
线程.暂停 线程2
开启 线程1
延时 吟唱时间
无限等待 线程1
继续 线程2
延时 辅助技能CD
循环结束
按钮0
开启 线程2
开启 线程3
按钮1
关闭 线程1 2 3
这样 不知道有问题不 没具体试过
欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/)
Powered by Discuz! X3.1