下面有一个C#方法(用于统一):
int CheckLength()
{
Collider[] enemies = Physics.OverlapSphere(transform.position, transform.localScale.x);
return enemies.Length;
}我希望在使用此metod时有一些延迟,因此必须使用Invoke()方法。但问题是我无法获得该方法的返回值,因为Invoke()方法的返回类型是无效的。如何在延迟的情况下使用此方法并获得返回值?
发布于 2021-07-09 18:12:20
在延迟之后,有很多方法可以获得“返回”值。
其中之一是给协同线一个包含参数的动作,作为“返回”,或者更准确地说,不是返回,而是继续。
using System;。
void Start(){
StartCoroutine(Return5AfterDelay(
(returnedValue)=>{
// after
print(returnedValue);
}
));
}
IEnumerator Return5AfterDelay(flood delay, Action<int> continueWith){
yield return new WaitForSeconds(delay);
continueWith(5);
}https://stackoverflow.com/questions/68306267
复制相似问题