C#ですが、多分同じでしょう。
Update間隔(安定しない1フレーム)として中断される様です。
public class NewBehaviourScript : MonoBehaviour {
float t = 0;
IEnumerator Start()
{
while (true) {
yield return new WaitForSeconds(0);
Debug.Log(t);
}
}
void FixedUpdate () {
t += Time.deltaTime;
}
}
FixedUpdateで一定間隔で時間を加算していますが、ログに同じ数字が続く現象が起こります。間隔が一定ではない、という事で。
数値も加算されてフリーズする事もありません。
もしスルーされるならwhile(true){}による無限ループになりフリーズします。
この事から分かりそうな事は、Update間隔よりも早い周期は作れない、という事でしょうか。
処理は中断されてUnity側のループに戻される、次の実行タイミングは1フレーム後のUpdate時になる。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/08/07 08:12