Задать вопрос
@soks_of_fate

Как исправить ошибку в Unity?

Есть код

using UnityEngine;
using System.Collections;
public class test : MonoBehaviour
{
    public GameObject panel;
    public GameObject tex;
    private void OnTriggerEnter(Collider other)
    {
        panel.SetActive(true);
        tex.SetActive(true);
        Time.timeScale = 0;
        Cursor.visible = true;
    }
}


Который написан мной. Проблема в том, что "panel" и "tex", которые код должен включать, работают правильно, а вот курсор и время не работают (курсор должен ставать видимым, а время замирать). Я искренне не могу понять в чем ошибка, тк не в юнити, не в visual studio при компиляции нет ошибок.
  • Вопрос задан
  • 41 просмотр
Подписаться 1 Простой Комментировать
Решения вопроса 1
@NIKROTOS
Начинающий программист.
Перевод описания Time.timeScale:
Шкала, по которой проходит время.

Это можно использовать для эффектов замедленного движения или для ускорения вашего приложения. Когда timeScale равен 1,0, время течет так же быстро, как и в реальном времени. Когда timeScale равен 0,5, время идет в 2 раза медленнее, чем в реальном времени.

Когда timeScale установлен на ноль, ваше приложение работает так, как будто оно приостановлено, если все ваши функции не зависят от частоты кадров. Отрицательные значения игнорируются.

Обратите внимание, что изменение timeScale влияет только на следующие кадры. Как часто MonoBehaviour.FixedUpdate выполняется для каждого кадра, зависит от timeScale. Следовательно, чтобы количество обратных вызовов FixedUpdate на кадр оставалось постоянным, необходимо также умножить Time.fixedDeltaTime на timeScale. Желательна ли эта корректировка, зависит от игры.

Функции FixedUpdate и приостановленные сопрограммы с WaitForSeconds не вызываются, когда timeScale установлен на ноль.

Если ты сделаешь курсор видимым до остановки времени, он станет видимым.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы