Unity 停止多个协程
private List<Coroutine> m_ListCoroutine = new List<Coroutine>(); //添加需要停止协程的队列 m_ListCoroutine.Add(StartCoroutine(MahjongBottomDrawIntoWall(0.7f, CWComDataDef.Game_Position.GP_BOTTOM))); m_ListCoroutine.Add(StartCoroutine(MahjongDraw4Yoriko(gp, kTile, fDelayTime))); //停止多个协程 public void StopInvalidCoroutine() { foreach ( Coroutine it in m_ListCoroutine) { StopCoroutine(it); } m_ListCoroutine.Clear(); }
注意:这种方法完全不用考虑协程参数。
使用
StartCoroutine(DoSomething());
开启协程,发现使用
StopCoroutine(DoSomething());
停止不了,看API原来是因为:
请注意只有StartCoroutine使用一个字符串方法名时才能用StopCoroutine停用之.
                    
                
                
            
        
浙公网安备 33010602011771号