2017年3月16日 星期四

Unity Coroutine 控制執行緒

從外部控制執行緒是件簡單的事情,要是沒有關掉,你就該擔心了。
建立一個執行緒時,是這樣寫的:

StartCoroutine(doSomething());

在這裡,需要暫停時會顯得麻煩,或你也許只能調度終極方法解決所有問題:
StopAllCoroutine();

情況不需要如此極端,只要把它用變數儲存就可以了。
private Coroutine dangerWeapon;
void start(){
    dangerWeapon = StartCoroutine(doSomething());
}

void update(){
    if(Input.KeyDown(KeyCode.X)){
        StopCoroutine(dangerWeapon);
    }
}


Reference:
http://answers.unity3d.com/questions/300864/how-to-stop-a-co-routine-in-c-instantly.html

沒有留言:

張貼留言

© Mac Taylor, 歡迎自由轉貼。
Background Email Pattern by Toby Elliott
Since 2014