Maison >développement back-end >C++ >Comment implémenter des pauses de jeu dans l'unité en utilisant différentes méthodes?
Les multiples méthodes d'implémentation du jeu d'unité du jeu Unity
Introduction
L'insertion ou la pause dans le jeu peut améliorer l'interaction et le rythme du jeu. Dans l'unité, une variété de technologies peuvent être utilisées pour y parvenir.
<.> 1.Corporate
Le moyen le plus direct est d'utiliser WaitForSeconds
coroutine. Cela suspendra l'exécution de la durée spécifiée par la coroutine. Par exemple:
Cette coroutine vous distribue le texte WaitForSeconds
, avec un délai de 3 secondes entre l'affectation.
<code class="language-C#">IEnumerator Waiter() { TextUI.text = "欢迎来到数字巫师!"; yield return new WaitForSeconds(3); TextUI.text = ("你选择的最高数字是 " + max); yield return new WaitForSeconds(3); TextUI.text = ("你选择的最低数字是 " + min); }</code><.> 2.
Corporate TextUI
similaire à , sera également suspendu, mais il ignorera le partage du temps (par exemple, pour des effets d'action lents). WaitForSecondsRealtime
WaitForSeconds
WaitForSecondsRealtime
<code class="language-C#">IEnumerator Waiter() { TextUI.text = "欢迎来到数字巫师!"; yield return new WaitForSecondsRealtime(3); TextUI.text = ("你选择的最高数字是 " + max); yield return new WaitForSecondsRealtime(3); TextUI.text = ("你选择的最低数字是 " + min); }</code>
<.> 4. Time.deltaTime
Fonction
Cette fonction exécute la coroutine jusqu'à ce qu'elle remplisse les conditions spécifiées. Par exemple, en attendant que le score du joueur atteigne la valeur cible:
<code class="language-C#">float counter = 0; float waitTime = 3; bool quit = false; void Update() { if (!quit) { counter += Time.deltaTime; } if (!quit && counter >= waitTime) { // 等待时间已过时执行代码 counter = 0; } }</code>
<.> 5. Fonction WaitUntil
<code class="language-C#">IEnumerator Waiter() { float targetScore = 100; yield return new WaitUntil(() => playerScore >= targetScore); // 加载下一关或执行所需操作 }</code><.> 6.
Fonction WaitWhile
Cela organisera une fonction pour être appelée après retard. Par exemple, nourrissez le chien après 5 secondes:
WaitUntil
<.> 7.
<code class="language-C#">IEnumerator Waiter() { yield return new WaitWhile(() => Input.GetKey(KeyCode.Escape)); // 退出或执行所需操作 }</code>
Invoke
similaire aux options 3, mais dans la fonction , vérifiez la condition:
Solution pour vos problèmes
<code class="language-C#">Invoke("feedDog", 5f); void feedDog() { Debug.Log("正在喂狗"); }</code>
pour atteindre un retard dans votre code spécifique: Update()
Time.deltaTime
Utilisez la Coroutine
. Update()
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!