Gamecenter

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

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

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

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

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

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

Очки

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

Gc2.jpg

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

Gc3.jpg

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

Достижения

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

Gc4.jpg

Для просмотра достижений нужно передать объекту gamecenter состояние achievements_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 - текущее состояние.

Проверка получения achievement

Есть возможность проверять из редактора (на компьютере) приходят ли achievements:

для этого в файлике Viewer_Log нужно найти строчку 

GGameCenter::reportAchievement achievement = %s, percent = %d

где, %s - имя ачивмента (ссылочка которую дают маркетологи) %d - число процента