подробное объяснение реализации задержки единства
]]]создание задержек в единстве необходимо для управления игровыми потоками, сортировки событий и имитации реального поведения. Вот несколько способов достижения задержки:
1.
startCoroutine
waitForseconds
: pauses выполнение в течение указанного времени (затронуто скоростью игры). waitForseCondSRealTime
: pauses выполнение для указанного времени (не затронуто скорости игры). Пример:
2.
IEnumerator WaitForSecondsExample()
{
// 旋转90度
transform.Rotate(Vector3.right * 90);
// 等待4秒(不受游戏速度影响)
yield return new WaitForSecondsRealtime(4);
// 旋转40度
transform.Rotate(Vector3.right * 40);
// 等待2秒(受游戏速度影响)
yield return new WaitForSeconds(2);
// 旋转20度
transform.Rotate(Vector3.right * 20);
}
или для цикл
: Постепенно увеличить таймер, пока не будет достигнуто желаемое значение.
дайте возврат null
: pause выполнение одного кадра.
ienumerator TimeBasedLoopexample ()
{
// поворачивать 90 градусов
Transform.rotate (Vector3.right * 90);
// ждать 4 секунды (затронут скоростью игры)
timer float = 0;
В то время как (таймер 3.
IEnumerator TimeBasedLoopExample()
{
// 旋转90度
transform.Rotate(Vector3.right * 90);
// 等待4秒(受游戏速度影响)
float timer = 0;
while (timer
: выполнение не приостановлено до тех пор, пока условие не станет истинной.
waitwhile
: pause execution, когда условие верно.
ienumerator waituntilexample ()
{
// ждать, пока счет игрока достигнет 100
доход вернуть новый waituntil (() => playercore> = 100);
// загрузить следующий уровень
SceneManager.loadScene ("nextlevel");
} 4.
: Запланировать функцию для выполнения после указанной задержки.
IEnumerator WaitUntilExample()
{
// 等待玩家分数达到100
yield return new WaitUntil(() => playerScore >= 100);
// 加载下一关
SceneManager.LoadScene("NextLevel");
}
: аналогично invoke , но функция вызывается многократно через указанные интервалы времени.
invoke ("feedDog", 5);
InvokeRepeating («MovePlayer», 0,5F, 0,2F);
]]
time.deltatime
: используется для измерения времени между кадрами.
if
Invoke("FeedDog", 5); // 5秒后调用FeedDog()
InvokeRepeating("MovePlayer", 0.5f, 0.2f); // 每0.2秒调用MovePlayer(),持续0.5秒。
Пример:
решить вашу проблему:
для создания задержки при отображении текста в вашем скрипте вы можете использовать следующий код: Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3