Реализация постоянных часов - PullRequest
0 голосов
/ 17 февраля 2012

В настоящее время я работаю над новой игрой для iOS с использованием Cocos2D.Игра должна продвигать состояния через x промежуток времени с момента первого запуска.Так, например:

Состояние - Время

  1. начальный запуск
  2. 24 часа
  3. 48 часов

Моей первой идеей было просто получить данные и время при первом запуске и сохранить их в файл.Тогда я мог бы проверять это время от времени, чтобы увидеть, сколько времени прошло.Проблема в том, что мне нужно, чтобы это происходило в реальном времени, чтобы изменения вступили в силу сразу после достижения состояния.Это также должно продолжаться, когда пользователь не использует приложение.Функциональность, которую я ищу, отчасти похожа на то, как работают стратегические игры для iOS, где вы создаете структуры, которые занимают х количество времени.

В любом случае, мой вопрос (ы):Есть ли какая-то библиотека, которая может выполнить это, и как я могу заставить ее продолжать работу после выхода пользователя из приложения?

1 Ответ

3 голосов
/ 17 февраля 2012

Не может.Существует - кроме случаев неправильного использования воспроизведения видео / музыки и т. Д., Ваше приложение не может выполнять работу, пока оно не запущено.

У вас есть две вещи, которые вы можете сделать, чтобы смоделировать это поведение (и я полагаю, чтоэто тоже делают в стратегических играх):

  1. Вы можете в любое время, пока пользователь еще не запустил ваше приложение, подсчитать баллы в будущем, когда что-то должно произойти (например, строительство жилья завершено).Когда пользователь покинет ваше приложение, сохраните его в будущем как локальные события - тогда пользователь получит уведомление о том, что что-то произошло в вашей игре (например, сообщение «Церковь была построена. Вы хотите перейти нацерковь сейчас?)Нажатие «да» откроет ваше приложение, и вы сможете сделать все необходимое, чтобы действительно построить церковь.Так что на самом деле вы делаете это не в тот момент, когда это произошло, а когда пользователь открывает ваше приложение в следующий раз.
  2. Как 1, но без уведомления.Просто помните , когда пользователь покидает приложение (например, в ваших настройках я бы использовал список свойств; установите его, когда делегат приложения получит событие appWillResignActive), и в следующий раз, когда он начнет, сделайте то, что было бысделано в то же время - он не сможет заметить разницу: -).

Это все о верить здесь: -).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...