Текст, выдаваемый программой Getscores.pl на выходе, начинается с highScoresText=. За счет этого оставшаяся часть текста помещается в одноименную переменную. Функция onLoad получает это значение из объекта myLoadVars и помещает в текстовое поле с соответствующим именем. Как только заканчивается пересылка текста, он выводится на экран.
Добавление списка лучших игроков в игру
Исходный файл: Whackafoxwithscores.fla
Как пример еще одной игры с использованием списка лучших игроков приведем файл Whackafoxwithscores.fla. Это все та же игра "Поймай лису", которую мы рассматривали в главе 8, но здесь она содержит еще и список лучших игроков.
К этой игре достаточно легко добавить список лучших результатов, потому что она подразделяется на три части. Сцена "Начало игры" была изменена таким образом, что уже при загрузке игры выводится список лучших игроков. Поэтому к стандартной команде stop() в начале первого кадра этой сцены вам понадобится добавить те коды, которые будут отвечать за отображение списка лучших игроков:// Указываем путь к программе getscores.pl.
url = "getscore.pl";
// Запрашиваем данные.
loadVariables (url,this);
// Выводим на экран информацию о том, что по кнопке щелкнули.
highScoresText = "Getting High Scores…";
stop();Текстовое поле под названием highScoresText добавляется посередине экрана (рис. 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();
}