Демонстрация списка лучших игроков
Исходный файл: Highscores.fla
На Web-сайте надо разместить две программы, с помощью которых и будет формироваться список лучших игроков. Первая программа представляет собой демонстрационный ролик, показывающий, как набранные очки заносятся в базу данных и как они затем из нее извлекаются.
Кадр такого ролика, Highscores.fla, изображен на рис. 17.5. Область слева внизу позволяет вам ввести новый результат, а в области справа отображается список лучших игроков.
Рисунок 17.5. Ролик, отображающий список лучших игроков, позволяет проверить правильность работы программ, написанных вами на языке Perl
...
Примечание
Имена игроков и очки выравнены по левому краю (Рис 17.5). Я использовал моноширинный шрифт (Courier). Если использовать другие шрифты, например Ariel, то будет не так просто выравнять столбцы в рамках одного текстового поля.
Все программные коды в файле Highscores.fla привязаны к двум кнопкам (см. рис. 17.5).
Часть "Добавить результат" отображает имя игрока и набранные им очки в текстовых окнах, содержимое которых может изменяться. Когда вы запускаете эту программу, вы можете ввести имя и набранные очки, а затем щелкнуть по кнопке Submit Score (Добавить результат). Ниже приведен текст программы, закрепленной за этой кнопкой.
on (press) {
// Путь к файлу submitscore.pl.
url = "submitscore.pl";
// Определяем объект LoadVars.
myLoadVars = new LoadVars();
myLoadVars.name = name;
myLoadVars.score = score;
// Пересылаем данные.
returnedVars = new LoadVars();
myLoadVars.sendAndLoad(url,returnedVars,"GET");
resultText = "Sending...";
// Задаем результат.
returnedVars.onLoad = function() {
resultText = "Done."
}
}
Вы уже использовали объект LoadVars в главе 12 для создания игр-викторин. Тогда вы не отсылали никаких данных серверу, вам требовался лишь текстовый файл. В этом примере вы вызываете программу, написанную на Perl, чтобы отсылать данные на сервер.
Элемент GETв конце команды SendAndLoad сообщает Flash, что данные будут передаваться с помощью протокола GET. Это один из вариантов, второй – использование протокола POST. Названные протоколы соотносятся с двумя способами передачи данных из форм, которые используются HTML-страницами.
Данные, которые мы передаем, – это два свойства объекта myLoadVars: nameи score.Когда передача завершается, выполняется функция, определяемая методом onLoad. В нашем случае она выводит сообщение в текстовое поле resultText.
К кнопке Get Scores (Обновить список) также прикреплена небольшая программа, но здесь не требуется пересылать значения каких-либо переменных:
on (press) {
// Указываем путь к программе getscores.pl.
url = "getscore.pl";
// Запрашиваем данные.
myLoadVars = new LoadVars();
myLoadVars.load(url);
highScoresText = "Getting High Scores...";
// Данные получены.
myLoadVars.onLoad = function() {
highscoresText = myLoadVars.highscoresText;
}
}
Текст, выдаваемый программой 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).
Рисунок 17.6. Теперь при загрузке игры «Поймай лису» на экран выводится список лучших игроков
В конце игры, в сцене «Игра закончена», появляется клип с несколькими текстовыми полями и кнопкой Submit Score. При этом очки, набранные в игре, должна подсчитывать и выводить сама программа. Сама по себе игра управляется действиями, которые относятся к клипу «actions» сцены «Игра». Поэтому переменная scoreпривязана именно к этому клипу, а не к основной временной шкале. После добавления к тексту программы строки _root.score = scoreв основной временной шкале также появляется переменная score,которой присваивается число набранных очков. Когда приходит очередь сцены "Игра Закончена", первый кадр помещает набранные очки в клип "Добавление результатов". Одновременно удаляется предыдущее значение переменной nameэтого клипа.
Читать дальше
Конец ознакомительного отрывка
Купить книгу