Войти
Flash gamedevСтатьи

Интеграция Kongregate API:High Scores (Таблица результатов) AS 2.0

Автор:

Это простое руководство про-то, как интегрировать Kongregate API: High scores в вашу Flash игру, написанную на AS 2.0. К сожалению Kongregate, на данный момент не поддерживает ничего кроме Flash - платформы, и поэтому интегрировать API в Shockwave игры не получится.

Статья переведена с сайта kongregate.com

Это простое руководство про-то, как интегрировать Kongregate API: High scores в вашу Flash игру, написанную на AS 2.0. К сожалению Kongregate, на данный момент не поддерживает ничего кроме Flash - платформы, и поэтому интегрировать API в Shockwave игры не получится.

Введение

Интеграция High Scores API позволяет вам, как запоминать, так получать лучшие результаты в вашей игре. Таблица результатов может отображаться во многих местах на сайте Kongegate автоматически, например на странице игры или в чате, таким образов ваша игре может вообще не отображать таблицу результатов, главное что бы она отсылала достижения игроков Kongerate'у. High Scores API предоставляет простой интерфейс для отсылки и получения таблицы результатов, без заранее, каких-либо настроек на сервере.

Реализация

Первым делов ты должен добавить следующую строку кода, для того что бы твоя игра соединилась с сервером Kongergate. Она должна быть размещена как можно раньше на timeline, обычно в первом кадре. Ты должен скопировать и вставить этот код в свой FLA или ActionScript файл

_root.kongregateServices.connect();
После этого ты можешь начинать отсылать результаты! Функция для отсылки, должна получать результат, который заработал игрок. Рекоминдуется это делать в конце игры, но вообще вы можете отсылать результаты, когда вам удобно
_root.kongregateScores.submit(1000); //Игрок заработал 1000 очков
Для того что бы получить таблицу результатов с сервера Kongregate, вы можете воспользоваться функцией - requestList, которая получает два аргумента. Первый - это callback функция, которая будет вызвана, когда запрос будет обработан сервером. Второй аргумент - это переменная типа Object, в которой и будет сохранена таблица.
var scoresCallback:Function = function( result:Object ){
    trace("High score result, success=" + result.success );

    for( var i:Number = 0; i < result.list.length; i++ ){
        var position:Number = i + 1;
        trace( position + ". " + result.list[i].username + " - " + result.list[i].score );
    }
}
_root.kongregateScores.requestList( scoresCallback, this );
Как видите переменная передаваемая callback - функции имеет следующие поля: succes - будет true, если запрос успешно обработан и false в противном случае, и list - массив с результатами. Каждый элемент массива содержит username(имя игрока) и score(его результат).

Режимы при работе с таблице результатов:

Если ваша игра имеет насколько разных режимов, то для каждого из них можно хранить свою таблицу результатов. Для этого вы можете использовать метод - setMode. Этот метод на входе получает один аргумент, являющиеся именем того режима на который вы хотите переключиться. Вы должны вызывать setMode после вызова kongregateServices.connect(). Если вы не хотите использовать разные режимы, то вызов этой функции в вашем коде вы можете опускать. Обычно setMode вызывается, когда игрок сменил режим игры, так же этот метод вызывается, когда необходимо отобразить таблицу результатов(Имеется в виду для определенного режима игры).

_root.kongregateServices.connect();
_root.kongregateScores.setMode("Normal");
_root.kongregateScores.submit(1000); // Отправка 1000 очков в режиме normal
_root.kongregateScores.setMode("Hard");
_root.kongregateScores.submit(500); // Отправка 500 очков в режиме hard

P.S.
Буду рад ответить на все возникшие вопросы:))

#API, #high scores, #kongregate

14 декабря 2008

Комментарии [1]