Rumah > pembangunan bahagian belakang > C++ > Bagaimana dengan berkesan menjeda skrip perpaduan menggunakan Waitforseconds, Waitforsecondsrealtime, dan semasa gelung?

Bagaimana dengan berkesan menjeda skrip perpaduan menggunakan Waitforseconds, Waitforsecondsrealtime, dan semasa gelung?

DDD
Lepaskan: 2025-01-31 13:26:10
asal
343 orang telah melayarinya

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

Kaedah mudah skrip perpaduan yang dijeda dengan cekap

Perpaduan menyediakan pelbagai kaedah untuk menggantung skrip dan mensimulasikan tidak aktif. Artikel ini akan memperkenalkan kaedah yang mudah dan biasa digunakan:

<.> 1. Gunakan Waitforseconds:

Kaedah ini mudah dan langsung, dan menggunakan korporat. Fungsi coroutine membolehkan kod untuk dilaksanakan pada pelbagai bingkai. Dalam fungsi korporat, anda boleh menggunakan Waitforseconds untuk menentukan tempoh penggantungan.

<.> 2. Gunakan 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>
Salin selepas log masuk

Ini adalah kaedah penggantian Waitforseconds, yang sangat berguna apabila anda perlu menggantung pelaksanaan tanpa nisbah masa permainan. Waitforseconds dipengaruhi oleh time.timescale, dan time.timescale boleh melambatkan atau mempercepatkan permainan. Walau bagaimanapun, Waitforsecondsrealtime memastikan bahawa tempoh tempoh tetap tidak berubah walaupun nisbah masa berubah.

<.> 3. Gunakan gelung dan masa.

Anda boleh menggunakan gelung dan masa. Kaedah ini membolehkan anda memantau tempoh tempoh dan menamatkannya jika perlu.

<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>
Salin selepas log masuk

Gunakan penyelesaian pada kod anda:

Untuk menyelesaikan masalah khusus yang anda jeda di antara paparan UI teks, anda boleh menggunakan kod berikut:

<code class="language-csharp">float pauseDuration = 4f;
float elapsedTime = 0f;

while (elapsedTime < pauseDuration)
{
    elapsedTime += Time.deltaTime;
}</code>
Salin selepas log masuk
Memanggil fungsi korporat dengan memanggil fungsi korporat dari permulaan () atau kemas kini (), anda boleh mengawal selang masa antara setiap paparan mesej UI teks.

Atas ialah kandungan terperinci Bagaimana dengan berkesan menjeda skrip perpaduan menggunakan Waitforseconds, Waitforsecondsrealtime, dan semasa gelung?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan