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 중국어 웹사이트의 기타 관련 기사를 참조하세요!