Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на Action Script.doc
Скачиваний:
18
Добавлен:
07.02.2015
Размер:
4.39 Mб
Скачать
        1. Задание 1.

В полученном ролике есть недостатки. В первом кадре кнопка назад пытается перевести проигрывание на –4 кадр. Да и кнопка «в начало» тут ни к чему. То же относится и к последнему кадру. Используя дополнительные слои, исправьте ролик.

Переходы между сценами.

До сих пор мы работали лишь с одной сценой. В большей части создаваемых роликов каждый новый этап анимации являлся продолжением предыдущего. Даже если анимация имеет несёт новое содержание, могут использоваться те же фоновые рисунки или продолжать звучать тот же фоновый звук. Но иногда возникает необходимость включения в ролик совершенно не связанного с предыдущим фрагмента. В этом случае может быть удобнее использование нескольких сцен. Для создания новой сцены необходимо в меню «Insert» выбрать «Scene». Для быстрого перехода между сценами можно использовать кнопкув верхней правой части окна редактора. Имя текущей сцены отображается в верхней левой части редактора, например,Для управления сценами необходимо активизировать панельScene.

Двойной щелчок по значку сцены позволит на неё перейти, а по имени – переименовать. Кнопки в нижней правой части панели необходимы для дублирования сцены, создания новой и удаления сцены. Для корректной работы скрипта не используйте в названиях сцен русские буквы. Обратите внимание, что сцены расположены в определённом порядке. Так они будут проигрываться по умолчанию. Однако, перетаскивая мышкой, вы можете изменить порядок их следования.

Продолжим усложнение нашей презентации. До сих пор в ней использовалась лишь анимация «MotionTween». Создайте дополнительно две сцены. Первую назовите «fr» и создайте на ней произвольную покадровую анимацию, а другую назовите «sh» и создайте на ней анимацию формы. Вернитесь на первую сцену. Добавьте в слой с кнопками ещё две. Пусть первая будет запускать проигрывание сцены «fr». В этом случае функцияgotoAndPlayдолжна иметь два аргумента – имя сцены и имя кадра на этой сцене.

on(release) {

gotoAndPlay("fr", 1);

}

Для сцены «sh» поступим несколько иным способом. Активизируйте панельSceneи переместите значок «sh» так, что бы он следовал сразу за значком «Scene1». Таким образом «sh» будет для «Scene1» «следующей». Тогда оставшейся кнопке можно присвоить такой скрипт

on(release) {

nextScene();

}

По сути, это та же команда gotoAndStop(). В режимеNormalModeданный скрипт получается выбором «NextScene» в раскрывающемся списке «Scene». Обратите внимание, что после перехода на сцену анимация останавливается. Для того что бы проигрывание продолжилось, используйтеgotoAndPlay("sh", 1);

Для полноты картины добавьте последним кадрам анимации новых сцен скрипт, возвращающий на первую сцену gotoAndStop ("Scene 1", 1);

Предположим, что наша презентация предназначена не для публикации в интернет, а для исполнения на локальном компьютере, т.е. будет представлять собой прикладную программу, исполняющуюся под управлением ОС, а не в браузере. Это даёт нашей презентации гораздо больше возможностей. Например, презентация сможет запускать другие программы, открывать документы с жёсткого диска. Разумеется, такие возможности недоступны SWFфайлу, который проигрывается в браузере. Для создания независимого приложения, необходимо в диалоге «File» «PublishSettings» активизировать

Тогда, после публикации «File» «Publish» илиShift–F12 в той же папке где хранится исходныйFLA– файл, возникнет одноимённый файл с расширениемEXE. Размер данногоEXEфайла больше чем уSWF, но зато он не требует для работы наличия проигрывателяflash, а исполняется как обычная прикладная программа. Только в таких программах будут исполняться команды группыFscommandдля автономного проигрывателя. По своей сутиFscommandприменяется для передачи команд среде, в которой исполняется ролик. В данном случае ролик будет запущен непосредственно из операционной системы а потому станет возможен запуск других программ или команд операционной системы.

Создайте в слое с кнопками дополнительно 5 экземпляров кнопок. Пусть первая будет закрывать окно ролика. Откройте окно скрипта первой кнопки (правая кнопка мыши на экземпляре и команда «Actions») и в списке команд выберитеfscommand. В нижнем раскрывающемся списке выберите «quit». Скрипт должен выглядеть так:

on(release) {

fscommand("quit");

}

Для того что бы проверить работу ролика необходимо проигрывать именно EXE-файл. Для обновления уже существующегоEXE-файла ещё раз проведите публикацию «File» «Publish» (Shift-F12) и запустите ролик с жёсткого диска (EXEфайл имеют значок в виде ромбика). Не забудьте, что в диалоге «File» «PublishSettings» должен быть активизирован «WindowsProjector(.exe)» Можно, также использовать и команду предварительного просмотра «File» «PublishPreview» «Projector». Последнюю команду можно выполнять и не сохраняя файла на жёстком диске (на самом деле он редактор будет его сохранять во временной папке).

Обратите внимание, что кнопка не будет функционировать, если посмотреть ролик в виде SWFилиHTML.

Аналогично настроим следующие две кнопки для переключения в полноэкранный режим и обратно. Выбрав fscommand, выберите в нижнем спискеfullscreen(true/false). В полеArgumentsавтоматически возникнетtrue. Такая команда переведёт ролик в полноэкранный режим. Для другой кнопки сменитеtrueнаfalse. (Если лень набивать, можно использовать 0 или 1).

Когда ролик проигрывается в оконном режиме, в верхней части находится меню, которое можно скрыть, используя аргумент «showmenu». Присвойте следующий скрипт кнопке

on(release) {

fscommand("showmenu", "0");

}

и убедитесь, что меню исчезает после щелчка по ней.

Аргумент "allowscale" позволяет управлять масштабированием ролика при изменении размеров окна, в котором он проигрывается. По умолчанию масштабирование разрешено. Если, например, развернуть окно проигрывателя во весь экран, то все элементы ролика пропорционально увеличатся. Это не всегда приемлемо, например, если в ролике присутствуют растровые изображения, их качество при масштабировании снизится. Масштабирование можно запретить, используя команду

fscommand("allowscale", "0")

Аргумент «exec» применяется для запуска программ. Присвойте кнопке скрипт

on (release){

fscommand ( "exec","calc.exe");

}

После щелчка по ней действительно запустится калькулятор. При необходимости, запускаемой программе можно передать параметры. К сожалению, пробел будет интерпретирован неверно, а потому, лучше пользоваться символом табуляции который может быть обозначен как «\t». Если необходимо использование самого символа «\», то его просто нужно продублировать. Итак, если, например, требуется открыть в блокноте текстовый документ «joke.txt», т.е. исполнить строку «notepadd:\joke.txt», то достаточно присвоить кнопке следующий скрипт.

on (release){

fscommand ( "exec","notepad\td:\\joke.txt");

}

Для запуска приложения по умолчанию, открывающего документ, можно использовать команду windows«start». Пусть, например, требуется открытьalbom1.m3u- лист для проигрыванияmp3 – файлов, лежащий в папкеmusic.

fscommand("exec", "start\tc:\\music\\albom1.m3u"); Ссылка на файл может быть и относительной. Если файл лежит в той же папке, что и ехе файл ролика, то можно указать лишь имя файла

fscommand ("exec", "start\talbom1.m3u");

Рассмотрим ещё одну, относительно простую команду, которая, в отличие от предыдущей, будет работать и в автономном плеере и в браузере. Это оператор загрузки страницы – getURL. У оператора может быть один аргумент – указанный в кавычкахURL, который необходимо открыть. Если исполнение оператора произошло в браузере, то в том же окне , где проигрывался ролик будет открыта требуемая страница. Если ролик проигрывался в плеере, то браузер запустится автоматически.

on(release) {

getURL("http://list.ru");

}

У данной команды может присутствовать аргумент «window», определяющий в каком окне открыватьURL.

GetURL(“http://list.ru”,window="_self") откроет текущем окне указанный адрес,

GetURL("http://list.ru",window="_blank") откроет его в новом окне

Параметр «_parent» приведёт к открытию адреса в родительском, по отношению к текущему фрейме, а «_top» - в фрейме самого высокого уровня иерархии.

Используя оператор, можно обратиться к функциям javascript, например

window.open("1.swf", "full", "fullscreen=yes,,scrollbars=no") Откроет ролик в полноэкранном режиме. Использование данной функции вASдолжно быть таким

getURL("javascript:window.open(\"1.swf\",\"full\",\"fullscreen=yes,,scrollbars=no\")");

Данным оператором можно передать и целую последовательность команд javascript. Если, например, добавить void(0) то не будет пустого окна на заднем плане.

getURL ("javascript:window.open(\"1.swf\",\"full\",\"fullscreen=yes,,scrollbars=no\");void(0);");

Также, можно использовать getURL для почтовой ссылки

getURL("mailto:gromovvv@.specialist.ru?subject=это тема письма&body=это содержание письма")

или вызова через netmeeting. Если IP – адрес вызываемого компьютера, например, 195.19.44.34 , то команда

getURL("callto:195.19.44.34") попытается установить с ним сеанс связи.