C# 上的 WaitForSeconds
WaitForSeconds on C#
看看这个简单的代码:
function Start()
{
yield WaitForSeconds (4);
Application.LoadLevel(1);
}
有效!我正在尝试使用 C# 做一些类似的事情,但处理器只是忽略了 WaitForSeconds。这是我在 C# 中的代码:
using UnityEngine;
using System.Collections;
public class openingC : MonoBehaviour
{
void Start()
{
executeWait(5);
Application.LoadLevel(1);
}
void executeWait(float aux)
{
StartCoroutine(Wait(aux));
}
IEnumerator Wait(float seconds)
{
yield return new WaitForSeconds(seconds);
}
}
有人可以向我解释为什么它不起作用吗?谢谢你的时间。
试试这个:
Thread.Sleep(500); //500 millisecond waiting...
public class openingC : MonoBehaviour
{
void Start()
{
executeWait(5);
Application.LoadLevel(1);
}
void executeWait(float aux)
{
StartCoroutine(Wait(aux));
}
IEnumerator Wait(float seconds)
{
yield return new WaitForSeconds(seconds);
}
}
首先运行Start方法,调用executeWait,程序跳转到方法。它找到协程并启动 运行 它直到找到收益或方法结束。 Yield returns 给程序,指针返回到 executeWait 并完成该方法。指针返回到 Start 并调用 Application.LoadLevel。
您想挂起 LoadLevel 调用。
public class openingC : MonoBehaviour
{
void Start()
{
StartCoroutine(Wait(5));
}
//You don't need executeWait
IEnumerator Wait(float seconds)
{
yield return new WaitForSeconds(seconds);
Application.LoadLevel(1);
}
}
这个应该也可以吧
IEnumerator Start()
{
yield return new WaitForSeconds(4);
Application.LoadLevel (1);
}
看看这个简单的代码:
function Start()
{
yield WaitForSeconds (4);
Application.LoadLevel(1);
}
有效!我正在尝试使用 C# 做一些类似的事情,但处理器只是忽略了 WaitForSeconds。这是我在 C# 中的代码:
using UnityEngine;
using System.Collections;
public class openingC : MonoBehaviour
{
void Start()
{
executeWait(5);
Application.LoadLevel(1);
}
void executeWait(float aux)
{
StartCoroutine(Wait(aux));
}
IEnumerator Wait(float seconds)
{
yield return new WaitForSeconds(seconds);
}
}
有人可以向我解释为什么它不起作用吗?谢谢你的时间。
试试这个:
Thread.Sleep(500); //500 millisecond waiting...
public class openingC : MonoBehaviour
{
void Start()
{
executeWait(5);
Application.LoadLevel(1);
}
void executeWait(float aux)
{
StartCoroutine(Wait(aux));
}
IEnumerator Wait(float seconds)
{
yield return new WaitForSeconds(seconds);
}
}
首先运行Start方法,调用executeWait,程序跳转到方法。它找到协程并启动 运行 它直到找到收益或方法结束。 Yield returns 给程序,指针返回到 executeWait 并完成该方法。指针返回到 Start 并调用 Application.LoadLevel。
您想挂起 LoadLevel 调用。
public class openingC : MonoBehaviour
{
void Start()
{
StartCoroutine(Wait(5));
}
//You don't need executeWait
IEnumerator Wait(float seconds)
{
yield return new WaitForSeconds(seconds);
Application.LoadLevel(1);
}
}
这个应该也可以吧
IEnumerator Start()
{
yield return new WaitForSeconds(4);
Application.LoadLevel (1);
}