>백엔드 개발 >C++ >단순히 대본 대기/수면을 유니티로 만드는 방법은 무엇입니까?

단순히 대본 대기/수면을 유니티로 만드는 방법은 무엇입니까?

DDD
DDD원래의
2025-01-31 13:11:09862검색

Unity Script 대기 대기/여러 방법의 중단 How to Simply Make a Script Wait/Sleep in Unity?

Unity는 스크립트를 기다리거나 일시 중지하는 다양한 방법을 제공합니다 <.> 1. 수정을 사용하고

를 사용하십시오 이것은 가장 간단하고 직접적인 방법입니다. Coroutine 함수에 대기 해야하는 코드를 넣고 지정된 대기 시간을 사용하십시오. 코 루틴 함수는 로 시작해야합니다.

<.> 2. 수정을 사용하고

를 사용하십시오 WaitForSeconds의 차이는 가 중단 되더라도 대기 시간을 사용한다는 것입니다.

<.> 3. Coroutine 및

를 사용하여 대기 시간 표시 WaitForSeconds StartCoroutine(yourFunction) 이 방법은 타이머와 같은 대기 시간을 표시 해야하는 장면에 적합합니다. 또한 대기 과정에서 인터럽트 작업을 허용합니다.

<code class="language-C#">private void Start()
{
    StartCoroutine(Waiter());
}

private IEnumerator Waiter()
{
    // 旋转 90 度
    transform.Rotate(new Vector3(90, 0, 0), Space.World);

    // 等待 4 秒
    yield return new WaitForSeconds(4);

    // 旋转 40 度
    transform.Rotate(new Vector3(40, 0, 0), Space.World);

    // 等待 2 秒
    yield return new WaitForSeconds(2);

    // 旋转 20 度
    transform.Rotate(new Vector3(20, 0, 0), Space.World);
}</code>
간단한 버전, 타이머를 독립적 인 코 루틴으로 분리하십시오.

<.> 4. 수정 및 기능 사용 특정 조건이 충족되기를 기다리고 있습니다. 예를 들어, 플레이어 점수가 다음 레벨을로드하기 전에 100 점에 도달 할 때까지 기다리십시오. WaitForSecondsRealtime <.> 5. 수정 및 기능 사용 특정 조건을 기다리는 것은 충족되지 않습니다. 예를 들어, 플레이어가 ESC 키를 누르고 게임을 종료 할 때까지 기다리십시오.

<.> 6 <.> 통화 기능이 지연됩니다.

WaitForSecondsRealtime <.> 7. 함수를 사용하고 WaitForSeconds Time.timeScale 유사한 방법 3이지만 코 루틴을 사용하지 않습니다. 이것은 종종 장기 대기 대기에 권장되지 않는 경우가 많고 효율성이 낮습니다. WaitForSecondsRealtime 선택할 방법은 특정 응용 프로그램 시나리오에 따라 다릅니다. 간단한 대기 시간의 경우 또는

가 충분합니다. 대기 시간을 판단하거나 표시하는 조건이 충분합니다.
<code class="language-C#">private void Start()
{
    StartCoroutine(WaiterRealtime());
}

private IEnumerator WaiterRealtime()
{
    // 旋转 90 度
    transform.Rotate(new Vector3(90, 0, 0), Space.World);

    // 等待 4 秒 (不受 Time.timeScale 影响)
    yield return new WaitForSecondsRealtime(4);

    // 旋转 40 度
    transform.Rotate(new Vector3(40, 0, 0), Space.World);

    // 等待 2 秒 (不受 Time.timeScale 影响)
    yield return new WaitForSecondsRealtime(2);

    // 旋转 20 度
    transform.Rotate(new Vector3(20, 0, 0), Space.World);
}</code>
에서 오랫동안 기다리지 마십시오.

위 내용은 단순히 대본 대기/수면을 유니티로 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.