unityゲームのUnityゲームの複数の実装方法
はじめに
ゲームに挿入または一時停止すると、ゲームの相互作用とリズムが強化される可能性があります。 Unityでは、これを達成するためにさまざまなテクノロジーを使用できます。 1。
最も直接的な方法は、coroutineを使用することです。これにより、Coroutine指定された期間の実行が停止されます。たとえば、
このコルーチンは、課題の間に3秒の遅延があるテキストをあなたに分配します。 WaitForSeconds
2。
WaitForSeconds
も停止されますが、時間の恥を無視します(たとえば、動作効果が遅い場合)。
<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>
3
TextUI
各フレームの値を比較して、その値をターゲット値と比較することで、遅延を作成することもできます。これにより、動的な待機時間が可能になり、中断することができます。
WaitForSecondsRealtimeこの関数は、指定された条件を満たすまでCoroutineを実行します。たとえば、プレーヤースコアが目標値に達するのを待ちます:
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>6。
これにより、遅延後に呼び出される関数が配置されます。たとえば、5秒後に犬に餌を与えます:
Time.deltaTime
7。
関数では、条件を確認してください。
あなたの問題に対する<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>解決策
特定のコードの遅延を達成するには、WaitUntil
<code class="language-C#">IEnumerator Waiter() { float targetScore = 100; yield return new WaitUntil(() => playerScore >= targetScore); // 加载下一关或执行所需操作 }</code>または
関数でCoroutineを呼び出します。
以上がさまざまな方法を使用して、ゲームの一時停止を統一して実装する方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。