有什麼辦法可以運行一個函數並獲取返回值作爲函數的參數嗎?讓我解釋一下:我的代碼中有大量的函數,它們只是在發生某些事情之前等待一定的時間。由於我只在一種情況下使用它們,因此我想將它們放入我的方法中,以某種方式使用它們。 (我正在使用Unity3D。)示例:是否可以在一個方法內部運行一個函數?
public void SayHiAfterSeconds(float seconds) {
StartCoroutine(sayHiAfterSeconds(seconds));
}
IEnumerator sayHiCoroutine(float seconds) {
yield return new WaitForSeconds(seconds);
print("Hi.");
}
我想將sayHiCoroutine函數放入SayHiAfterSeconds中。例如:
public void SayHiAfterSeconds(float seconds) {
StartCoroutine(IEnumerator() {
yield return new WaitForSeconds(seconds);
print("Hi.");
});
}
這可能嗎? 謝謝。
@Valentin只是爲了記錄,這不是重複的。這是**協程** – Fattie
Hi @ 283。你說的很對,你偶然發現了關於Unity的一件有趣的事情。你經常會看到的功能,除了啓動協程外,其他都不例外。 **在許多團隊中,你這樣做很常見:**主叫叫** SayHiAfter **。匹配協程**與下劃線和小寫字母相同,因此,**「_ sayHiAfter」**。我幾乎要對你說「你應該」這樣做,**這是Unity工程師常用的習慣用法。 – Fattie
非常清楚地注意到:**通常情況下,你從來沒有永遠永遠,曾經使用下劃線開始名稱 - 這是一個真正令人難以置信的過時,愚蠢,糟糕的想法,從過去的事情不同。所以通常情況下,永遠不要使用Unity中的「下劃線開始名稱」概念 - 永遠不會。但這是一個非常特殊的情況。我可以說的是,我覺得在這種情況下它是恰當的(它表示「本地」「偶然」「相關」非常好),並且這是非常普遍的。所以,我建議你這樣做。 – Fattie