создай скрипт на юнити который будет выводить текс...
创建于:2026年8月8日
使用 GPT-5.6 Thinking 回答 Chat01
创建于:2026年8月8日
使用 GPT-5.6 Thinking 回答 Chat01
создай скрипт на юнити который будет выводить текст на экран каждые 5 минут с объяснением как его подключить
Конечно. Ниже вариант для Unity + TextMeshPro: каждые 5 минут сообщение появляется на экране на несколько секунд, после чего исчезает.
csharpusing System.Collections; using TMPro; using UnityEngine; public class TimedMessage : MonoBehaviour { [Header("UI")] public TMP_Text messageText; [Header("Настройки")] public string message = "Прошло 5 минут!"; public float interval = 300f; // 300 секунд = 5 минут public float displayDuration = 5f; // Сколько секунд показывать сообщение private void Start() { // Сначала скрываем текст messageText.gameObject.SetActive(false); StartCoroutine(MessageTimer()); } private IEnumerator MessageTimer() { while (true) { // Ждём 5 минут yield return new WaitForSecondsRealtime(interval); // Показываем сообщение messageText.text = message; messageText.gameObject.SetActive(true); // Держим сообщение на экране yield return new WaitForSecondsRealtime(displayDuration); // Скрываем messageText.gameObject.SetActive(false); } } }
Assets: ПКМ → Create → Scripting → MonoBehaviour Script и назови его TimedMessage.MessageManager.TimedMessage на MessageManager.TMP Essentials, нажми Import TMP Essentials.MessageManager. В компоненте Timed Message появится поле Message Text — перетащи туда созданный объект Text (TMP).Interval = 300 означает 5 минут, а Display Duration = 5 — сообщение будет видно 5 секунд.Для тестирования не обязательно ждать 5 минут: временно поставь Interval = 5. Тогда сообщение будет появляться каждые 5 секунд.
Я использовал WaitForSecondsRealtime, поэтому таймер продолжит идти даже при Time.timeScale = 0, например во время паузы игры.