(Unity, C#)C#

Место общения программистов C#
Anonymous
(Unity, C#)

Сообщение Anonymous »

Для моей игры нужна функция, которая экономит игру каждые X секунды. Проблема в том, что, хотя он отлично работает на Windows в то время, когда я хочу, чтобы это было, когда я пытаюсь сыграть в игру на своем телефоне, это невыносимо медленная - сама игра работает нормально без задержки, но повторяющийся код сохраняет игру, так что я спорадически я не был анекдотиально. Public void Start ()
{
InvokeRepeating("savegame", 5f, 5f);
InvokeRepeating("deactive", 6f, 5f);
//deactive hides a text field 1 second after saving
}
< /code>
Я попробовал такую ​​Coroutine, как эта < /p>
public void Start()
{
StartCoroutine(savegame());
}

IEnumerator savegame ()

{
yield return new WaitForSecondsRealtime(5);
saving();
yield return new WaitForSecondsRealtime(1);
deactive();
StartCoroutine(savegame());
}

< /code>
Все они работают именно так, как я намеревался (т. Е. Выполнение каждые 5 секунд), когда я в редакторе Unity на моем ПК с Windows и нажимает на игру, но на моем телефоне, кажется, считается гораздо медленными секундами. Кажется, это проблема, когда кадр на моем телефоне ниже, как я могу сделать секунды не зависеть от кадров? Я хочу, чтобы это было считать секунды в реальной жизни, как их считают внутренние часы.>

Подробнее здесь: https://stackoverflow.com/questions/795 ... cross-plat

Вернуться в «C#»