1. 程式人生 > >Unity延遲執行一段程式碼的較為優雅的方式

Unity延遲執行一段程式碼的較為優雅的方式

===============================================

using UnityEngine;using System.Collections;using System;

public class DelayToInvoke :MonoBehaviour{

public static IEnumeratorDelayToInvokeDo(Action action, float delaySeconds){yield return new WaitForSeconds(delaySeconds);action(); //最好IF判斷一下不為空}}


===============================================

如何使用呢?

比如我點選NGUI的一個Button,則

void OnClick()
{
StartCoroutine(DelayToInvoke.DelayToInvokeDo(() =>
{
Application.LoadLevel(“Option”);
}, 0.1f));
}

看到了吧

Application.LoadLevel(“Option”);就是想要延時執行的程式碼段。

你可以寫很長很長。Action,隨便搞。

原文地址:http://www.unitymanual.com/thread-25542-1-1.html