Лаг при аутентификации локального пользователя в Game Center - PullRequest
1 голос
/ 26 февраля 2012

Для моей игры cocos2d я аутентифицирую локального пользователя в методе applicationDidFinishLaunching моего AppDelegate. Однако всякий раз, когда проверка подлинности завершена, в моей игре возникает небольшая задержка, когда небольшое сообщение «Добро пожаловать, X» скользит вниз и обратно. Проблема в том, что я не могу контролировать, когда эта аутентификация завершена - очевидно, длительность сильно зависит от соединения данных устройства.

Иногда сообщение (и сопровождающее его неизбежное отставание) появляется, как только я нахожусь в сцене меню, что несколько приемлемо, поскольку мое меню более или менее статично. Чаще всего это происходит позже, когда игра уже началась. Поскольку моя игра - бесконечный скроллер, сообщение всегда вызывает задержку в движении игрока, даже заставляя игрока иногда умирать (достаточно полсекунды задержки: - /).

Как я могу обойти это? Раньше у меня была сцена загрузки прямо перед сценой меню, чтобы загрузить некоторые из моих активов, и поскольку загрузка занимает некоторое время, всегда был хороший шанс, что аутентификация завершена на сцене загрузки, но, конечно, я не могу гарантия, что это будет правдой!

1 Ответ

1 голос
/ 26 февраля 2012

Game Center может немного заморозить игру, если она не работает. Я сомневаюсь, что загрузка GameCenter в другой поток была бы хорошей идеей (или даже оказала бы на это влияние), но что вы могли бы сделать, чтобы обойти проблему, с которой вы столкнулись, так это дать игре счет 3-2-1. прежде чем он начнет прокручивать / двигаться. дало бы немного больше времени для игрового центра и время для игрока, чтобы сконцентрироваться, и серьезное начало игры сразу же может не понравиться некоторым игрокам. Надеюсь, это поможет.

...