Иллюстрированный самоучитель по Flash-games

       

Добавление списка лучших игроков в игру


Исходный файл: Whackafoxwithscores.fla

Как пример еще одной игры с использованием списка лучших игроков приведем файл Whackafoxwithscores.fla. Это все та же игра "Поймай лису", которую мы рассматривали в главе 8, но здесь она содержит еще и список лучших игроков.
К этой игре достаточно легко добавить список лучших результатов, потому что она подразделяется на три части. Сцена "Начало игры" была изменена таким образом, что уже при загрузке игры выводится список лучших игроков. Поэтому к стандартной команде stop О в начале первого кадра этой сцены вам понадобится добавить те коды, которые будут отвечать за отображение списка лучших игроков:

// Указываем путь к программе getscores.pl.

url = "getscore.pl";

// Запрашиваем данные. loadVariables (url,this);

// Выводим на экран информацию о том, что по кнопке щелкнули.

highscoresText = "Getting High Scores...";

stop() ;

Текстовое поле под названием highscoresText добавляется посередине экрана (рис. 17.6).

Рисунок 17.6 Теперь при загрузке игры "Поймай лису" на экран выводится список лучших игроков



В конце игры, в сцене "Игра закончена", появляется клип с несколькими текстовыми полями и кнопкой Submit Score. При этом очки, набранные в игре, должна подсчитывать и выводить сама программа. Сама по себе игра управляется действиями, которые относятся к клипу "actions" сцены "Игра". Поэтому переменная score привязана именно к этому клипу, а не к основной временной шкале. После добавления к тексту программы строки _root.score = score в основной временной шкале также появляется переменная score, которой присваивается число набранных очков. Когда приходит очередь сцены "Игра Закончена", первый кадр помешает набранные очки в клип "Добавление результатов". Одновременно удаляется предыдущее значение переменной name этого клипа.

sendscores.name = "" ;

sendscores.score = score;

stop();

На рис. 17.7 показан кадр из сцены "Игра закончена". Здесь вы можете видеть, что клип "Добавление результатов" содержит набранные игроком очки, текстовое поле, куда игрок должен ввести свое имя, и кнопку Submit Score.
Игрок вводит свое имя в первое текстовое поле, в то время как другое поле уже содержит набранные им очки, и он не может изменить результат. После этого игрок может щелкнуть по кнопке Submit Score, которая запустит следующую программу:


on (press) {

// Указываем путь к программе submitscore.pl.

url = "submitscore.pl";

// Отправляем значения переменных:

// "score" - счет игры,
// "name" - имя игрока.

loadVariables(url,this,"GET");

// Меняем кадр, чтобы по кнопке Submit нельзя было

// щелкнуть дважды,

play();
}



Рисунок 17.7 Последний кадр обновленной игры "Поймай лису" дает игроку возможность записать результат своей игры

Набранные очки пересылаются серверу таким же образом, как и в демонстрационном файле Highscores.fla. Отличие заключается в добавлении команды play(), благодаря которой происходит смена кадра. Второй кадр аналогичен первому, за исключением того, что здесь отсутствует кнопка Submit Score. Это сделано для того, чтобы игрок не мог несколько раз щелкать по кнопке, вводя таким образом несколько результатов.


Содержание раздела