📅  最后修改于: 2023-12-03 15:20:53.196000             🧑  作者: Mango
当我们使用 Unity 编写游戏或应用时,经常会遇到需要等待一定时间的场景,例如延迟执行某个函数、实现动画效果的暂停、等待资源加载等。在 C# 中,我们可以使用不同的方法来实现等待几秒钟的功能。
下面是一些常用的方法,供程序员在 Unity 中使用:
using System.Collections;
using UnityEngine;
public class WaitExample : MonoBehaviour
{
private IEnumerator Start()
{
Debug.Log("开始等待");
yield return new WaitForSeconds(3f);
Debug.Log("完成等待");
}
}
上述代码使用 WaitForSeconds
函数创建一个等待时间为 3 秒的协程,并在完成等待后打印相应信息。在 Unity 中,协程可以与 StartCoroutine
函数一起使用来实现等待功能。
using UnityEngine;
public class WaitExample : MonoBehaviour
{
private void Start()
{
Debug.Log("开始等待");
Invoke("CompleteWait", 3f);
}
private void CompleteWait()
{
Debug.Log("完成等待");
}
}
上述代码使用 Invoke
函数来延迟调用 CompleteWait
方法,实现等待 3 秒后执行相应逻辑。
虽然 Unity 不支持在主线程之外创建新线程,但如果你在Unity项目中使用了.NET 2.0 Subset 或 .NET 4.x Subset 作为脚本运行时版本,你可以使用 Task.Delay
函数、async
/await
模式来达到等待的效果。以下是示例代码:
using System.Threading.Tasks;
using UnityEngine;
public class WaitExample : MonoBehaviour
{
private async void Start()
{
Debug.Log("开始等待");
await Task.Delay(3000);
Debug.Log("完成等待");
}
}
上述代码使用 Task.Delay
函数在一个新线程上等待 3 秒钟,然后使用 await
使程序在此等待期间暂停,待等待完成后,将恢复执行并打印相应信息。
以上是常用的等待几秒钟的方法示例,根据你的需求和具体场景,你可以选择适合的方法实现等待功能。无论哪种方法,都能很好地满足各种等待时间的需求。
希望以上信息能对你有所帮助!