создай скрипт на юнити который будет выводить текс...

تم الإنشاء في: ٨ أغسطس ٢٠٢٦

تمت الإجابة باستخدام GPT-5.6 Thinking بواسطة Chat01

سؤال

создай скрипт на юнити который будет выводить текст на экран каждые 5 минут с объяснением как его подключить

الفكرة

Worked for a couple of seconds

الإجابة

Конечно. Ниже вариант для Unity + TextMeshPro: каждые 5 минут сообщение появляется на экране на несколько секунд, после чего исчезает.

csharp
using 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); } } }

Как подключить в Unity

  1. Создай скрипт в Assets: ПКМ → Create → Scripting → MonoBehaviour Script и назови его TimedMessage.
  2. Вставь туда код выше.
  3. На сцене создай пустой объект: GameObject → Create Empty. Назови, например, MessageManager.
  4. Перетащи скрипт TimedMessage на MessageManager.
  5. Создай текст: GameObject → UI → Text - TextMeshPro. Если Unity предложит импортировать TMP Essentials, нажми Import TMP Essentials.
  6. Размести текст в нужной части экрана и настрой размер шрифта.
  7. Выдели MessageManager. В компоненте Timed Message появится поле Message Text — перетащи туда созданный объект Text (TMP).
  8. В поле Message напиши нужный текст.
  9. Interval = 300 означает 5 минут, а Display Duration = 5 — сообщение будет видно 5 секунд.

Для тестирования не обязательно ждать 5 минут: временно поставь Interval = 5. Тогда сообщение будет появляться каждые 5 секунд.

Я использовал WaitForSecondsRealtime, поэтому таймер продолжит идти даже при Time.timeScale = 0, например во время паузы игры.

مشاركة هذا السؤال والجواب