r01*_*128 -2 unity-game-engine
我试图调用一个设置一些变量的协同程序,等待几秒钟,然后将它们设置回来.
不幸的是,整个协程都在同时开始,无需等待.在这种情况下,它几乎就像从未调用过该函数一样.
public void Dash(){
lastDashTime = Time.time + dashWaitDuration;
motionBlur (); //this call is not working as expected
animator.SetFloat ("Speed", 0);
playerRigidBody.MovePosition (playerRigidBody.position + transform.forward * 1.75f);
}
//this is the coroutine
IEnumerator motionBlur(){
print ("Hello");
camMotionBlur.jitter = 10;
camMotionBlur.enabled = true;
yield return new WaitForSeconds (2);
camMotionBlur.enabled = false;
camMotionBlur.jitter = 0.125f;
}
Run Code Online (Sandbox Code Playgroud)
如果您尝试在C#中启动协程,则需要调用StartCoroutine:
StartCoroutine(motionBlur());
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
97 次 |
| 最近记录: |