Pengenalan
Memasukkan atau menjeda dalam permainan dapat meningkatkan interaksi dan irama permainan. Dalam Perpaduan, pelbagai teknologi boleh digunakan untuk mencapai matlamat ini.
<.> 1.Korporat
Cara yang paling langsung adalah menggunakan WaitForSeconds
coroutine. Ini akan menggantung pelaksanaan tempoh Coroutine yang ditentukan. Contohnya:
, dengan kelewatan 3 saat antara tugasan. WaitForSeconds
IEnumerator Waiter() { TextUI.text = "欢迎来到数字巫师!"; yield return new WaitForSeconds(3); TextUI.text = ("你选择的最高数字是 " + max); yield return new WaitForSeconds(3); TextUI.text = ("你选择的最低数字是 " + min); }
TextUI
juga akan digantung, tetapi ia akan mengabaikan masa -peringatan (contohnya, untuk kesan tindakan perlahan).
WaitForSecondsRealtime
<.> 3.
WaitForSeconds
WaitForSecondsRealtime
Anda juga boleh membuat kelewatan dengan membandingkan nilai setiap bingkai dan membandingkan nilainya dengan nilai sasaran. Ini membolehkan masa menunggu dinamik dan boleh terganggu.
IEnumerator Waiter() { TextUI.text = "欢迎来到数字巫师!"; yield return new WaitForSecondsRealtime(3); TextUI.text = ("你选择的最高数字是 " + max); yield return new WaitForSecondsRealtime(3); TextUI.text = ("你选择的最低数字是 " + min); }
<.> 4. FUNGSI Time.deltaTime
float counter = 0; float waitTime = 3; bool quit = false; void Update() { if (!quit) { counter += Time.deltaTime; } if (!quit && counter >= waitTime) { // 等待时间已过时执行代码 counter = 0; } }
FUNGSI WaitUntil
Sama seperti <似>, fungsi ini melaksanakan coroutine, sehingga keadaan tidak lagi benar. Sebagai contoh, tunggu memegang butang:
<.> 6.
IEnumerator Waiter() { float targetScore = 100; yield return new WaitUntil(() => playerScore >= targetScore); // 加载下一关或执行所需操作 }
WaitWhile
Ini akan mengatur fungsi yang akan dipanggil selepas kelewatan. Sebagai contoh, makan anjing selepas 5 saat:
<.> 7. WaitUntil
Fungsi dan
IEnumerator Waiter() { yield return new WaitWhile(() => Input.GetKey(KeyCode.Escape)); // 退出或执行所需操作 }
Sama dengan pilihan 3, tetapi dalam fungsi Invoke
, periksa keadaan:
<对> Penyelesaian untuk masalah anda
Invoke("feedDog", 5f); void feedDog() { Debug.Log("正在喂狗"); }
untuk mencapai kelewatan dalam kod khusus anda:
Update()
Time.deltaTime
Gunakan COROUTINE CALL dalam fungsi atau anda.
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan jeda permainan dalam perpaduan menggunakan kaedah yang berbeza?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!