Dim 任务线程ID, 检测线程ID,i
任务线程ID = Thread.Start(任务线程)
Delay 2000
检测线程ID = Thread.Start(检测线程)
Thread.SetShareVar "检测开关",0
Do
Delay 2000
TracePrint "我是主线程"
loop
Sub 任务线程()//把 主线 副本 打怪 放到任务线程中
TracePrint "我是任务 线程 "
Do
打怪
Delay 1000
Loop
End Sub
Sub 检测线程()//把 弹窗 验证 角色死亡 各种突发情况放到此地
Dim i=0
TracePrint "我是检测 线程 "
Do
TracePrint "模拟 i=5后,出现异常情况 当前i: ",i
i = i +1
If i =5 Then
角色死亡
End If
验证
Delay 1000
Loop
End Sub
'------------------任务线程 空间--------------------------//
Function 打怪()
Do
If 读取多线程数据("检测开关")=1 Then
线程暂停 "检测开关"
End If
TracePrint "打怪中。。。 "
'写自己打怪代码
Delay 1000
Loop
End Function
'------------------任务线程 空间--------------------------//
'------------------检测线程 空间--------------------------//
Function 验证()
'加入自己代码
End Function
Function 角色死亡()
'找图,色 多点 判断角色是否死亡
TracePrint "检测 到角色死亡"//暂停任务线程,把 检测开关 赋值为 1
Thread.SetShareVar "检测开关",1
'处理死回回城等操作...
死亡_复活
'恢复 检测开关为0,启动任务线程
Thread.SetShareVar "检测开关",0
Delay 1000
End Function
Sub 死亡_复活()
Dim i =0,ii
For ii =0 To 6
Select Case i
Case 0
TracePrint "复活中."
Case 1
TracePrint "复活中.."
Case 2
TracePrint "复活中..."
End Select
i = i +1: Delay 1000
If i >2 Then
i =0
End If
Next
End Sub
'------------------检测线程 空间--------------------------//
'--------------------接代码------------------------//
Function 读取多线程数据(var)
Dim ret
ret = Thread.GetShareVar(var)
读取多线程数据 = ret
End Function
//这个接口专用来恢复任务线程
Sub 线程暂停(var)
Do
TracePrint "任务线程暂停中..."
If 读取多线程数据(var)=0 Then
Exit Do
End If
Delay 1000
Loop
End Sub`在这里插入代码片`