Dalam pembangunan permainan perpaduan, kelewatan penyisipan sering diperlukan untuk dimasukkan antara peristiwa permainan atau pergerakan. Artikel ini akan memperkenalkan beberapa kaedah untuk melaksanakan kelewatan skrip perpaduan, dari Simple to Advanced.
<.> 1. Gunakan coroutine dan waitforseconds
Cara paling mudah adalah menggunakan korporat dan . Contoh seperti berikut:
<.> 2. Gunakan coroutine dan waitforsecondsrealtime WaitForSeconds
IEnumerator waiter() { // 等待4秒 yield return new WaitForSeconds(4); // 延迟后执行的操作 } StartCoroutine(waiter());
.
<.> 3. Coroutine berdasarkan pengesanan masa WaitForSeconds
Time.timeScale
Jika pemasa perlu dipaparkan, anda boleh menggunakan kaedah ini.
IEnumerator waiter() { // 等待4秒真实时间 yield return new WaitForSecondsRealtime(4); // 延迟后执行的操作 }
<.> 4. Gunakan Waituntil Coroutine
Pelaksanaan tempat letak kereta sehingga ia memenuhi syarat -syarat yang ditentukan.
IEnumerator waiter() { float elapsedTime = 0; float waitTime = 4; while (elapsedTime < waitTime) { elapsedTime += Time.deltaTime; // 更新计时器显示 yield return null; } // 延迟后执行的操作 }
Selagi keadaan yang ditentukan adalah benar, pelaksanaannya digantung.
<.> 6. Gunakan fungsi Invoke
IEnumerator waiter() { Debug.Log("等待玩家分数达到或超过100"); yield return new WaitUntil(() => playerScore >= 100); // 条件满足后执行的操作 }
Susun fungsi selepas kelewatan ditentukan.
<.> 7. Gunakan fungsi kemas kini () dan time.deltatime
IEnumerator waiter() { Debug.Log("等待退出按钮按下"); yield return new WaitWhile(() => !Input.GetKeyDown(KeyCode.Escape)); // 条件为假(按下退出按钮)后执行的操作 }
Gunakan <累> masa kumulatif dan operasi pencetus apabila mencapai ambang.
<对> Penyelesaian untuk masalah tertentu
Invoke("feedDog", 5); // 5秒后调用feedDog()函数
Atas ialah kandungan terperinci Bagaimana untuk melaksanakan kelewatan dalam skrip perpaduan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!