以下是我的代码:
void Start ()
{
Debug.Log("before");
StartCoroutine(CharTooLong());
Debug.Log("after");
}
IEnumerator CharTooLong(){
Debug.Log ("up");
yield return new WaitForSeconds(2);
Debug.Log ("down");
}
我只是使用两种方法来运行,但控制台只是打印如下:
before
up
after
为什么" down"没印?我在我的统一中导入了DoTween,这是效果吗?
如何解决这个问题?
答案 0 :(得分:3)
WaitForSeconds
将无效(timescale = 0
)重启游戏不会重置时间刻度。您可以在Edit -> Project settings -> Time
检查时间刻度参数中检查当前时间刻度。
要么确保您有合适的时间表,要么使用WaitForSeconds
:
void Start ()
{
Debug.Log("before");
StartCoroutine(CharTooLong());
Debug.Log("after");
}
IEnumerator CharTooLong(){
Debug.Log ("up");
yield return new WaitForUnscaledSeconds(2);
Debug.Log ("down");
}
public static IEnumerator WaitForUnscaledSeconds(float time){
float ttl = 0;
while(time > ttl){
ttl += Time.unscaledDeltaTime;
yield return null;
}
}
答案 1 :(得分:0)
您使用了setDT(df, keep.rownames=TRUE)[, list(V1=.N, rn[1L]), .(x,y)]
代码,但您的代码是c#!如果您使用unityScript
,则代码必须如下:
UnityScript