Загрузка дополнительных фильмов С помощью действий loadMovie и unloadMovie можно обеспечить динамическую загрузку дополнительных фильмов или их выгрузку без повторной инициализации Flash-плеера. Такая технология обеспечивает эффективное решение следующих задач: загрузка больших фильмов; фильм может быть разбит на несколько «серий», в конце каждой из которых помещается команда загрузки следующей; в результате посетитель сайта получает возможность просматривать очередную «серию», не дожидаясь, пока загрузится весь фильм; построение «многоуровневого» интерфейса: интерфейс предыдущего уровня позволяет управлять фильмом следующего уровня; построение своеобразного гипертекстового фильма, в котором пользователь может переходить от одного SWF-файла к другому. Рассмотрим эти действия на примере: 1. Создайте новый файл и расположите в нем любой экземпляр кнопки. 2. Откройте панель Действия. В списке действий откройте раздел Actions, затем подраздел Browser/Network и дважды щелкните в строке loadMovie; в результате в окне сценария появится соответствующая конструкция на языке ActionScript, а в панели параметров — параметры действия loadMovie 3. Введите в поле URL имя файла mask.swf. Параметру level присвойте 1. 4. Расположите на рабочем поле ещё одну кнопку и задайте ей действие UnloadMovie. Параметру Level присвойте значение 1. 5. Сохраните файл в папке C:\Program Files\Macromedia\Flash MX\Help\Flash\html\movies. Нажмите CTRL + ENTER и проверьте работу кнопок. Рассмотрим подробнее параметры действия loadMovie. Параметр URL определяет адрес загружаемого фильма (SWF-файла); значение параметра может быть задано в виде абсолютного или относительного URL, либо в виде вычисляемого выражения. Параметр Location (Расположение) определяет «место» загружаемого фильма или клипа в иерархии. Для фильма его положение определяется относительным уровнем (Level), для клипа — положением клипа-предшественника (Target), который он должен заместить. Относительный уровень фильма — это целое положительное число от 0 и до... Верхний уровень ограничен только вашей фантазией и объемом оперативной памяти компьютера. Фильм, загруженный первым, помещается на самый нижний уровень, который имеет номер 0. Фильм нулевого уровня задает для всех последующих фильмов частоту смены кадров, цвет фона и размер кадра. Чтобы загрузить новый фильм в дополнение к загруженным ранее, следует указать для него номер уровня, который не занят другим фильмом. Чтобы заменить загруженный фильм другим, укажите для загружаемого фильма тот же номер уровня. Загрузка нового фильма на уровень 0 приводит не только к замене прежнего фильма этого уровня, но и к выгрузке фильмов всех других уровней. Параметр Variables имеет тот же смысл, что и для действия getURL. Для просмотра последовательности связанных фильмов в Flash-плеере или для их тестирования во Flash, все SWF-файлы должны быть сохранены в одной папке; в поле URL имя файла должно быть указано без папки или спецификаций дисковода, но обязательно с расширением swf. Динамическая загрузка изображений и звуков Можно использовать команду или метод loadMovie для загрузки JPEG-изображений во Flash-клип и его воспроизведения. Метод loadSound, предопределенного объекта Sound, можно использовать для загрузки звуковых MP3-файлов во Flash-клип для воспроизведения. Когда Вы загружаете изображение, его левый верхний угол помещается в точку отсчета (registration point) мувиклипа, в который загружается изображение. Так как точка отсчета часто является центром мувиклипа, то загруженное изображение не может появляется в центре. Также, когда Вы загружаете изображение в главную (самую верхнюю) монтажную линейку (Timeline), левый верхний угол изображения будет помещен в левый верхний угол сцены. Загруженное изображение наследует угол поворота (rotation) и масштаб (scaling) мувиклипа, но оригинал мувиклипа удаляется. Загрузка текстовых переменных Как таковой возможности загружать текст во Flash нету, но имеется возможность загружать переменные извне (в том числе и из текстовых файлов). Переменные передаются в стандартном формате GET-запроса: [еременная=[значение]&[переменная]=[значение]&...&... - в таком виде формируются пары переменная-значение, разделённые символом амперсанда ("&"). Flash может также принимать переменные, сформированные серверными сценариями (PHP, ASP, JSP, CGI, Cold Fusion и т.п.). Но об этом пойдёт речь ниже. Сейчас же продемонстрируем загрузку текста (и почему только текста? да любых переменных! :) из обычного (текстового :) файла. Для начала, сформируем текстовый файл, который нам предстоит загрузить. Он должен состоять из пар переменная=значение, разделенных амперсандом. Амперсанд определяет конец значения переменной, так что перед ним не должно быть пробелов или символов перевода каретки (если, конечно, это не входит в ваши планы). Вот пример содержимого текстового файла, который можно дать Flash на загрузку: myText=This is the text to be loaded to Flash.&myValue=123.45. Сохраняем этот файл под именем "vars.txt". Теперь создадим Flash файл, в который будет загружаться этот файл. Нам потребуются текстовые поля с именами myText и myValue и кнопка, которую мы будем использовать, чтобы инициировать загрузку: Нам нужен только очень простой код для кнопки: on(release) { loadVariables("vars.txt", "_root"); } Как вы догадались, всё выполняет функция loadVariables(). Рассмотрим её подробнее. loadVariables() служит не только для загрузки переменных из внешних источников, но и для передачи переменных из Flash в серверные скрипты или другие ролики Flash. Формат фунцкции loadVariables() следующий: loadVariables("url", level/"target" [, variables]); url - абсолютная или относительная ссылка на файл, из которого/в который будут посылаться данные. level - номер уровня, на который будут загружены переменные. Чтобы указать числовое значение, нужно использовать функцию loadVariablesNum(). В этой же функции можно использовать идентификаторы уровней (например, loadVariablesNum("vars.txt", "_level0") для загрузки на 0-й уровень). target - идентификатор клипа (movie clip), в который загружаются переменные. Указывается либо идентификатор уровня, либо идентификатор клипа. Нельзя указать оба параметра одновременно. variables - необязательный параметр, используется при посылке переменных, указывает метод посылки: GET или POST. В нашем примере, мы загружали переменные из текстового файла vars.txt в основной объект Flash-ролика: _root.