間隔執行 PeriodicUpdate

簡介 : 每隔一段時間執行
使用 : m_EnableFlag 控制該迴圈是否執行

優點:

  • 可於 Editor mode 中手動 on/off m_EnableFlag 來啟用或中止迴圈的工作
  • 或直接以 Alt+Shift+A 來切換 GameObject 狀態, 並且在 OnEnable 後會自動執行迴圈中的動作
  • 修改 m_Interval 直接影響下一個的執行間隔.

缺點:

  • Coroutine 一直運行
  • 呼叫 StopAllCoroutine() 會被中止, 直到 GameObject 下一次的 OnEnable
	public bool m_EnableFlag = true;
	public float m_Interval = 0.3f;
	private void OnEnable()
	{
		StartCoroutine(PeriodicUpdate());
	}
	
	private IEnumerator PeriodicUpdate()
	{
		while(true)
		{
			while(m_EnableFlag)
			{
				//***************************/
				// put interval process here
				//***************************/
				yield return new WaitForSeconds(m_Interval);
			}
			yield return null;
		}
	}

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

*

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料