Чтение онлайн

на главную - закладки

Жанры

Macromedia Flash Professional 8. Графика и анимация

Дронов В. А.

Шрифт:

Формат вызова действия loadVariabies таков:

loadVariabies("Интернет-адрес серверной программы",

Путь клипа, получающего данные"[, "GET|POST"]);

С первым параметром передается интернет-адрес серверной программы, которая должна получить данные и отправить результат, или текстового файла, содержащего их. Со вторым параметром передается путь клипа, который должен принять и обработать эти данные. Третий, необязательный,

параметр используется для задания способа передачи отправляемых данных.

Примеры использования действия loadVariabies:

loadVariabies("http://site.ru/bin/program.pi", _root.dataHandler,"POST");

loadVariabies("data.txt", _root.dataHandler);

Оба эти выражения загружают полученные данные в клип dataHandler. Но только первое выражение получает их от серверной программы, передав ей способом POST значения переменных уровня клипа, а второе загружает их из текстового файла.

Метод loadVariabies вызывается почти так же:

<Клип, получаюпщй данные>.loadvariabies("Интернет-адрес серверной программы" [, "GET | POST"]);

Например:

_root.dataHandler.loadvariabies("http://site.ru/bin/program.pi", "POST");

Для загрузки данных в перекрывающийся фильм используется действие loadVariablesNum. Вот формат его вызова

loadvariabies("Интернет-адрес серверной программы",

"Уровень перекрытия фильма, принимающего данные"[, "GET|POST"]);

Комментарии, как говорится, излишни.

Вроде бы, все просто — выполняем действие или метод, получаем данные и обрабатываем их в своем приложении. Просто, да не совсем. Давайте рассмотрим небольшой сценарий, принимающий от серверной программы значение переменной frameNumber:

_root.loadVariables("http://site.ru/bin/program.exe");

_root.gotoAndStop(frameNumber);

Будет ли работать этот код? Может, будет, а может, и нет. И вот почему…

Когда мы даем приложению Flash команду получить данные от серверной программы или из текстового файла, мы не можем быть уверены в том, что эти данные будут получены сию же секунду. Более того, вообще нельзя быть уверенным, что Flash сможет получить их в течение какого-то строго определенного промежутка времени. Это может произойти как через долю секунды, так и через час (например, если произошел обрыв связи или если серверная программа перегружена другими запросами). И когда именно Flash получит результат, мы предугадать не можем.

Но если мы не можем предсказать время, в течение которого приложение получит внешние данные, то мы можем отследить сам момент их получения. Для этого достаточно обработать событие data

объекта movieClip, возникающее после получения клипом всех (до самой последней переменной) данных.

С учетом сказанного перепишем приведенный выше сценарий:

_root.onData = function {

_root.gotoAndStop(frameNumber);

}

_root.loadVariables("http://site.ru/bin/program.exe");

Вот теперь он будет работать.

Использование объекта LoadVars

Существует другой способ получения данных от серверной программы — использование экземпляров объекта LoadVars. Этот объект предоставляет по сравнению с действиями loadVariable и loadVariableNum возможность несколько более строгого контроля над процессом обмена данными, хотя выполняет те же самые функции.

Прежде всего, нам нужно создать экземпляр объекта LoadVars:

myLoadVars = new LoadVars;

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

И разумеется, присваиваем этим свойствам нужные значения:

myLoadVars.namel = "Ivan";

myLoadVars.name2 = "Ivanov";

myLoadVars.password = "vanyusha";

Чтобы отправить данные серверной программе, используется метод send. Формат его вызова таков:

<Экземпляр объекта LoadVars>.send("<Интернет-адрес серверной программы>"[, "<Цель>", "GET|POST"]);

С первым параметром передается интернет-адрес серверной программы, которой посылаются эти данные. Со вторым параметром может быть передана цель, указывающая, куда будет выведен результат обработки этих данных (как правило, это Web-страница, сгенерированная серверным приложением). Третий необязательный параметр определяет способ отправки данных; если он не указан, выбирается способ POST.

Вот пример выражения, реализующего отправку данных с помощью экземпляра объекта LoadVars:

myLoadVars.send("http://site.ru/bin/program.exe", "_blank", "GET");

Для приема данных от серверной программы используется метод load. С единственным параметром этого метода передается интернет-адрес этой серверной программы или же путь к текстовому файлу, содержащему нужные данные. Что касается данных, то они, опять же, должны быть представлены в виде текстовой строки, состоящей из пар "переменная" — "значение", отделенных друг от друга знаком &.

Поделиться:
Популярные книги

Как я строил магическую империю 4

Зубов Константин
4. Как я строил магическую империю
Фантастика:
боевая фантастика
постапокалипсис
аниме
фантастика: прочее
фэнтези
5.00
рейтинг книги
Как я строил магическую империю 4

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Попаданка 3

Ахминеева Нина
3. Двойная звезда
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Попаданка 3

Муж на сдачу

Зика Натаэль
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Муж на сдачу

Призыватель нулевого ранга. Том 3

Дубов Дмитрий
3. Эпоха Гардара
Фантастика:
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Призыватель нулевого ранга. Том 3

На границе империй. Том 10. Часть 5

INDIGO
23. Фортуна дама переменчивая
Фантастика:
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 5

Адвокат

Константинов Андрей Дмитриевич
1. Бандитский Петербург
Детективы:
боевики
8.00
рейтинг книги
Адвокат

На границе империй. Том 7

INDIGO
7. Фортуна дама переменчивая
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
6.75
рейтинг книги
На границе империй. Том 7

Здравствуй, 1985-й

Иванов Дмитрий
2. Девяностые
Фантастика:
альтернативная история
5.25
рейтинг книги
Здравствуй, 1985-й

О, Путник!

Арбеков Александр Анатольевич
1. Квинтет. Миры
Фантастика:
социально-философская фантастика
5.00
рейтинг книги
О, Путник!

Чужбина

Седой Василий
2. Дворянская кровь
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужбина

Бестужев. Служба Государевой Безопасности. Книга четвертая

Измайлов Сергей
4. Граф Бестужев
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Бестужев. Служба Государевой Безопасности. Книга четвертая

Локки 5. Потомок бога

Решетов Евгений Валерьевич
5. Локки
Фантастика:
юмористическое фэнтези
аниме
фэнтези
5.00
рейтинг книги
Локки 5. Потомок бога

На границе империй. Том 10. Часть 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 4