Maison >développement back-end >C++ >Comment interrompre efficacement les scripts d'unité à l'aide de WaitForsEcondes, WaitForsEcondSrealtime, et pendant les boucles?

Comment interrompre efficacement les scripts d'unité à l'aide de WaitForsEcondes, WaitForsEcondSrealtime, et pendant les boucles?

DDD
DDDoriginal
2025-01-31 13:26:10396parcourir

How to Effectively Pause Unity Scripts Using WaitForSeconds, WaitForSecondsRealtime, and While Loops?

Script d'unité d'unité efficace Unity Méthode

Unity fournit une variété de méthodes pour suspendre les scripts et simuler dormant. Cet article introduira une méthode simple et couramment utilisée:

<.> 1. Utilisez WaitForsEcondes:

Cette méthode est simple et directe et utilise les entreprises. La fonction Coroutine permet aux codes de s'exécuter sur plusieurs images. Dans la fonction d'entreprise, vous pouvez utiliser WaitForsEconds pour spécifier la durée de la suspension.

<.> 2. Utilisez le waitForsEcondSrealtime:

<code class="language-csharp">StartCoroutine(waiter());

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

    // 使用 WaitForSeconds 暂停4秒
    yield return new WaitForSeconds(4);

    // 继续执行其他代码
}</code>

Il s'agit de la méthode de remplacement de WaitForsEcondes, ce qui est très utile lorsque vous devez suspendre l'exécution sans le rapport heure du jeu. WaitForsEconds est influencé par le temps. Cependant, WaitForsEncondSrealtime garantit que la durée de la durée reste inchangée même si le rapport temps change.

<.> 3. Utilisez la boucle While et le temps.deltatime:

<code class="language-csharp">StartCoroutine(waiter());

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

    // 使用 WaitForSecondsRealtime 暂停4秒
    yield return new WaitForSecondsRealtime(4);

    // 继续执行其他代码
}</code>
Vous pouvez utiliser la boucle While et le temps.Deltatime pour réaliser une suspension. Cette méthode vous permet de surveiller la durée de la durée et de la terminer si nécessaire.

Appliquez la solution à votre code:

Afin de résoudre les problèmes spécifiques que vous faites une pause entre l'affichage de l'interface utilisateur du texte, vous pouvez utiliser le code suivant:
<code class="language-csharp">float pauseDuration = 4f;
float elapsedTime = 0f;

while (elapsedTime < pauseDuration)
{
    elapsedTime += Time.deltaTime;
}</code>

Appelant la fonction d'entreprise en appelant la fonction d'entreprise à partir de start () ou update (), vous pouvez contrôler l'intervalle de temps entre chaque affichage de message d'interface utilisateur de texte.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn