Gamecenter

Материал из wiki.appsalutecreator.com
Версия от 15:39, 16 января 2013; Avereskun (обсуждение | вклад) (Примечания и дополнения)
Перейти к: навигация, поиск

Объект используется для отправки данных на gamecenter. Отправлять можно набранные очки (score) или достижения (achievement).

Параметры и модификаторы

Gc1.jpg
  • положение - определяет положение объекта на сцене.
  • размер - определяет размер объекта на сцене.
  • achievement - достижение, которое будем отправлять.
  • achievement percent - на сколько процентов завершено достижение.
  • score - очки, которые мы будем отправлять.
  • score category - категория, в которую мы отправляем очки (ссылка на leaderboard).
  • состояние - состояние, которое мы передаем объекту gamecenter
authenticate - состояние, по которому начинается авторизация мобильного 
устройства на геймцентре.
score - состояние, по которому отправляются очки.
achievement - состояние, по которому отправляются достижения.
score_show - состояние, по которому можно посмотреть очки на геймцентре.
achievement_show - состояние, по которому можно посмотреть достижения.

Пример применения

На геймцентр можно отправлять очки и достижения. Рассмотрим это на примере.

Очки

Для того, чтобы объект gamecenter мог обмениваться данными с геймцентром, он должен сначала авторизироваться. Проводить авторизацию нужно на экране, предшествующему экрану, где нужно отправлять очки. Для этого можно сделать отдельную машину.

Gc2.jpg

Для отправки очков нужно будет последовательно заполнить все параметры. Приведу пример, как это делается в машине соcтояний.

Gc3.jpg

Чтобы посмотреть очки мы передаем объекту gamecenter состояние score_show.

Достижения

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

Gc4.jpg

Для просмотра достижений нужно передать объекту gamecenter состояние achievement_show.

Отличительной особенностью достижений является то, что при успешной авторизации в опции записывается параметр, отвечающий за то или иное достижение. Поэтому эту информацию всегда можно считать из опций и использовать в игре. Выглядит она в опциях как параметр Gc5.jpg, значение которого = 1.

Примечания и дополнения

Для того, чтобы понимать что происходит с объектом gamecenter по логу viewer, приведен ряд значений, которые может получать GGamecenter (state=n, где n - номер состояния):

n     состояние                          пояснение
0    ST_IDLE=0,                         // состояние простоя
1    ST_NOT_SUPPORTED,                  // геймцентр не поддерживается на устройстве
2    ST_AUTHENTICATE,                   // попытаться авторизоваться
3    ST_AUTHENTICATION_ERROR,           // ошибка авторизации
4    ST_AUTHENTICATED,                  // успешно авторизовались
5    ST_REPORT_ACHIEVEMENT,             // запостить ачивку
6    ST_ACHIEVEMENT_SUCCESS,            // ачивка успешно отправлена
7    ST_ACHIEVEMENT_FAILED,             // не удалось отправить ачивку
8    ST_SHOW_ACHIEVEMENTS,              // показать стандартный гуи с ачивками
9    ST_REPORT_SCORE,                   // отправить очки
10   ST_SCORE_SUCCESS,                  // очки успешно отправлены
11   ST_SCORE_FAILED,                   // не удалось отправить очки
12   ST_SHOW_LEADERBOARDS,              // показать стандартный гуи с очками

Например, GGameCenter::state old_state = 1, state = 5,

  где old_state - предыдущее состояние, 
  state - текущее состояние.