a-mavrin.ru

Внутренний сервер обновления Adobe Flash Player. Внимание! важные изменения с extended support release

Разделы на этой странице:

А теперь давайте поговорим о так называемых специальных текстовых блоках, т. е. о текстовых блоках, выполняющих особые функции. В данный момент они нам, правда, не пригодятся, зато понадобятся тогда, когда мы начнем писать программы в среде Flash (программированию посвящена часть IV данной книги).

Поля ввода

Поле ввода - это своего рода небольшой текстовый редактор, помещенный в окно Windows-программы и предназначенный для ввода одно- или многострочного текста. При этом Windows сама управляет текстовым вводом: мы просто набираем символы, пользуемся клавишами-стрелками, клавишами , , выделяем текст, используем буфер обмена, как в любом "большом" текстовом редакторе. Программисты фирмы Microsoft много поработали над тем, чтобы сделать стандартные поля ввода Windows по-настоящему удобными.

Чтобы создать во Flash поле ввода, сначала нужно поместить на рабочий лист обычный текстовый блок и выделить его инструментом "стрелка" (при этом в текстовый блок необязательно вводить какой-либо текст). Далее находим в верхнем левом углу панели Properties небольшой раскрывающийся список (см. рис. 7.4) и выбираем в нем пункт Input Text. Если после этого мы откроем полученный текстовый блок, увидим то, что показано на рис. 7.9.


Итак, что мы видим? А видим мы полный набор маркеров изменения размера (они сохранятся и в том случае, если мы закроем поле ввода). Это значит, что мы можем менять также и вертикальный размер полученного поля ввода. А прямоугольный маркер из правого верхнего угла переместится в правый нижний - это знак того, что перед нами именно поле ввода.

Вид панели Properties после выделения поля ввода представлен на рис. 7.10. Как видим, там появились дополнительные элементы управления, которые нужно рассмотреть.


Прежде всего, прямо под списком, которым мы только что пользовались, появилось поле, в котором нам нужно будет указать уникальное имя, идентифицирующее созданное нами поле ввода Flash. Каждое поле ввода, созданное на рабочем листе, должно иметь уникальное имя. Это имя может содержать буквы русского и латинского алфавита, цифры и знаки подчеркивания, причем оно обязательно должно начинаться либо с буквы, либо со знака подчеркивания.

Ниже поля ввода задания трекинга находится другой раскрывающийся список. С его помощью выбирается вид поля ввода. В этом списке доступны четыре пункта:

? Single Line - обычное однострочное поле ввода ;

? Multiline - многострочное поле ввода (иначе говоря - область редактирования);

? Multiline no wrap - многострочное поле ввода, в котором не будет выполняться автоматический перевод строки (хотя пользователь все же может перенести строку вручную, нажав клавишу );

? Password - поле ввода пароля. Аналогично обычному однострочному полю ввода, но скрывает введенный в него текст, отображая вместо него строку из "звездочек".

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


Как видно на рис. 7.10, эта кнопка нажата и недоступна, т. е. не может быть отключена.

Вторая кнопка-выключатель, будучи включенной, предписывает Flash обрабатывать все встретившиеся в тексте теги HTML:


Так, если мы заключим фрагмент текста в тег <В>.. , Flash выделит его полужирным шрифтом. Если же эта кнопка выключена, Flash выводит текст "как есть", вместе с любыми тегами HTML, которые там заданы.

Вообще говоря, эта возможность полезна, только если мы задаем содержимое поля ввода из сценария ActionScript, так что описана она здесь "с опережением". Подробную информацию о поддержке тегов HTML в полях ввода и динамических текстовых блоках можно найти в интерактивной справке Flash.

Третья кнопка-выключатель во включенном состоянии заставляет Flash показывать рамку вокруг поля ввода, отчего последнее напоминает стандартное поле ввода Windows:


Если же она отключена, поле ввода имеет "плоский" вид.

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

Правее этих трех кнопок расположено поле ввода Var . В этом поле задается имя переменной ActionScript, в которую будет помещен введенный в созданное нами поле ввода текст. Переменная - это своего рода "ячейка камеры хранения" данных, созданная в памяти компьютера и имеющая уникальное имя, по которому ее можно однозначно определить. Мы можем обратиться к этой переменной по имени, извлечь из нее данные или поместить в нее новое значение. Во всех подробностях переменные будут рассмотрены в главе 19.

В поле ввода Maximum characters задается максимальное количество символов, которое сможет вводить в него пользователь. Если мы не хотим ограничивать это количество, то введем туда значение 0 (таково, кстати, значение поля по умолчанию).

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

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

Выбор символов шрифта для внедрения выполняется в диалоговом окне Character Embedding (рис. 7.11). Это окно появится на экране после нажатия кнопки Embed панели Properties (см. рис. 7.10).


Большой список этого окна позволит нам выбрать целые группы символов, которые должны быть внедрены в результирующий файл Shockwave/Flash. Он содержит довольно много пунктов; те же из них, что гарантированно нам пригодятся, приведены ниже:

? All (39477 glyphs) - все символы данного шрифта в количестве 39 477. Этот пункт приведен только для ознакомления; в реальности вряд ли кто-то будет им пользоваться;

? Uppercase (27 glyphs) - большие латинские буквы (27 символов);

? Lowercase (27 glyphs) - малые латинские буквы (также 27 символов);

? Numerals (11 glyphs) - арабские цифры (11 символов);

?Punctuation [!@#$%…] (52 glyphs) - знаки препинания и специальные обозначения (52 символа);

? Basic Latin (95 glyphs) - буквы большинства европейских языков (95 символов);

? Cyrillic (499 glyphs) - буквы кириллицы (499 символов). Пожалуй, самый важный пункт в нашем случае.

Как правило, в этом списке выделяются сразу несколько пунктов (правильно - кому нужны буквы без цифр!). Для этого сначала щелкнем мышью на первом пункте из набора тех, которые хотим выделить, потом нажмем клавишу и, удерживая ее, щелкнем на остальных пунктах, пока не выделим все. После этого можно отпустить клавишу .

Под списком шрифтов находится поле ввода Include these characters. В нем мы можем вручную ввести символы, которые должны быть внедрены. Такой способ полезен, если мы хотим внедрить только определенные символы шрифта. А если мы нажмем кнопку Auto Fill, Flash сам подставит в данное поле ввода все символы, что мы использовали в тексте выделенного поля ввода.

В самом низу окна Character Options находится небольшое текстовое поле Total number of glyphs, показывающее, сколько символов мы уже выбрали для внедрения. Так что мы сможем вовремя остановиться.

Кнопка Don"t Embed позволит быстро удалить все символы, что мы выбрали для внедрения. При нажатии на нее будет очищено поле ввода Include these characters, а в большом списке с выбранных нами пунктов пропадет выделение.

Задав параметры внедрения шрифтов в диалоговом окне Character Embedding, следует нажать кнопку ОК, чтобы применить их. Если же нужно отменить эти параметры, нажмем кнопку Cancel.

Динамические текстовые блоки

Часто вместо того чтобы показывать обычный, неменяющийся текст, требуется выводить в текстовом виде результаты работы какого-либо сценария ActionScript. Например, такой сценарий может извлекать новости с сайта "Компьюленты", прогноз погоды - с сайта "Апорта", а курсы валют - с сайта "Рэмблера", добавлять к извлеченным данным текущее время и все это в виде текста выводить на экран. (Кстати, интересная идея…)

Вот как раз для вывода текста, являющегося результатом работы сценария, и применяются динамические текстовые блоки. (Обычные же текстовые блоки часто называют статическими.) Пожалуй, нужда в таких динамических текстовых блоках возникает чаще, чем в полях ввода.

Динамический текстовый блок создается практически так же, как поле ввода. Создаем обычный текстовый блок, выделяем его инструментом "стрелка" и находим в верхнем левом углу панели Properties небольшой раскрывающийся список (см. рис. 7.4). Вот только выбрать в этом списке нужно пункт Dynamic Text.

Выделенный динамический текстовый блок похож на поле ввода (см. рис. 7.9), да и панель Properties будет выглядеть примерно так же, как показано на рис. 7.10. Поэтому мы не будем давать описание находящихся в нем элементов управления, а ограничимся указанием на существующие отличия.

Для вывода текста в динамический текстовый блок используются все те же переменные. Сценарий ActionScript помещает в такую переменную выводимый текст, а сам вывод выполняет проигрыватель Flash. Имя этой переменной вводится во все то же поле ввода, что находится под списком, с помощью которого мы только что превратили обычный текстовый блок в динамический.

Теперь об отличиях. Отличие в плане интерфейса фактически имеется только одно и, вдобавок, оно нам уже знакомо. Кнопка-выключатель:


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

Отличие в плане возможностей состоит в том, что динамический текстовый блок может быть сделан прокручиваемым. Обычный динамический блок должен непременно иметь такие размеры, чтобы в нем помещалось все его содержимое. Для прокручиваемого же блока это не обязательно: подобно областям редактирования Windows, он может "прокручивать" содержащийся в нем текст. Для управления прокруткой же нам придется писать соответствующие сценарии ActionScript - прокручиваемый текстовый блок не содержит полос прокрутки.

Чтобы сделать динамический текстовый блок прокручиваемым, нужно сначала его выделить. После этого следует включить пункт-выключатель Scrollable меню Text или одноименный пункт контекстного меню текстового блока. Если текстовый блок в данный момент открыт, можно дважды щелкнуть на квадратном маркере, расположенном в правом нижнем углу прямоугольника выделения, удерживая нажатой клавишу . Готовый прокручиваемый текстовый блок показан на рис. 7.12; обратим внимание, что маркер, который мы щелкали, принял форму черного квадратика.


Всем добрый день! Сегодня поговорим с вами о том, как вставить flash на сайт. Казалось бы, вопрос пустяковый. Если это баннер, то просто скопировать предложенный код и разместить в шаблоне, виджете или на странице через редактор. Если это flash анимация для сайта, то вставить при помощи того же кода, но прописанного самостоятельно. Однако и в этом несложном процессе есть свои тонкости, о которых мы сейчас поговорим.

Flash анимация для сайта

Итак, нам потребовалось разместить флэш анимацию на сайте. Для этого используется стандартный код:

На первый взгляд все правильно и ничто не предвещает проблем. Однако, если вы прокрутите страницу вверх, то увидите такую особенность, что размещенная таким образом flash анимация будет перекрывать админский тулбар - верхнюю черную панельку админа WordPress.

По большому счету, это не критично, поскольку данную панель видите только Вы и ваши помощники, если на блоге отключена регистрация пользователей. Но настоящие проблемы возникают, когда на сайте используется многоуровневое css меню, под которым размещен флэш баннер, который в этом случае его перекрывает.

Это происходит оттого, что flash всегда по глубине находится впереди блоков div. Чтобы этого избежать, нужно добавить всего лишь один дополнительный параметр в наш код:

В этом случае ролик flash ведет себя как обычное изображение. Также можно воспользоваться аналогичным параметром value=»transparent», но это создаст дополнительную нагрузку ни замедлит загрузку страницы. В конечном результате на код вставки флеш на сайт будет выглядеть так:

Плагин для размещения flash анимации на сайте

Если Вам приходится часто вставлять разные ролики или просто боитесь что-то неправильно написать в этом длинном коде, то можно воспользоваться плагином, который вставляет флеш на сайт автоматически - от вас требуется лишь указать адрес его расположения. Называется он WP-SWFObject. Как обычно, скачиваем и устанавливаем его, затем заходим в «Параметры > WP-SWFObject» и выполняем необходимые настройки. Здесь можно все оставить по умолчанию, кроме одного - пункта «Window Mode». Для того, чтобы вставить swf на сайт с учетом тех параметров, которые нам нужны, выберите здесь из выпадающего списка «OPAQUE» и сохраните настройки.

Теперь, чтобы вставить флэш на сайт, пропишите шорткод (его потом можно для удобства добавить на панель редактора)

В действии выглядеть будет так:

Для прямого размещения через шаблон используйте другой код:

Если вы уже освоили несколько графических редакторов, позволяющих создавать прекрасные, но статические изображения, вам необходимо попробовать создавать анимированную графику. Можно пойти простым путем и создавать анимированные картинки в формате gif. Это позволяют делать многие современные графические редакторы, такие как Photoshop, Corel Photo-paint и многие другие. Кроме того, для анимации статических изображений можно использовать специализированные программы-аниматоры, такие как Gif Animator или Macromedia Foreworks.

Их очень много, и перечислять их нет необходимости. Эти программы-аниматоры, объединяет одно свойство. Для создания эффекта анимации в этих программах создается последовательность кадров, состоящих из специально для этого созданных, в каком-либо графическом редакторе, отдельных gif-изображений, показывающихся через заданные промежутки времени. Эта система работает аналогично обычной кинопленке. Ее недостаток очевиден. Даже самые простые кадры (фреймы), включающие gif -изображения небольшого размера, имеют объем 2-3 Kb. При частоте показа 10 кадров в секунду каждая секунда такого gif-ролика будет занимать не менее 20-30 Kb. Поэтому создать что-либо выдающееся при таком жестком ограничении времени и дискового пространства очень трудно. Обычно анимированные gif-файлы работают циклически - в непрерывном режиме. Использование обычных видеоклипов на страницах web-сайтов также затруднено из-за большого размера файлов и связанных с этим трудностями при загрузке.

Но эти проблемы можно преодолеть при помощи программного обеспечения, созданного компанией Macromedia Inc. Этой компанией несколько лет назад был разработан новый графический формат Flash (с англ. - вспышка). Недавно на российском рынке появилась последняя версия программы - Macromedia Flash MX 6.0. Эта программа позволяет создавать очень динамичные яркие красочные анимированные изображения, занимающие очень малые объемы дискового пространства. Кроме того, используя возможности языка Action Script, в фильмы, созданные в формате Flash, можно встраивать различные действия, импортировать звуки, что открывает безграничные возможности для творчества. С помощью Macromedia Flash MX 6.0 можно создавать рекламные баннеры, интро для главных страниц сайтов, просто анимированные картинки для web-сайтов, очень красивые анимированные кнопки для web-страниц и различных интерфейсов, презентации и фотоальбомы (на CD-ROM или обычной дискете), в том числе и полноэкранные небольшие мультфильмы и даже довольно сложные игры. Но многие начинающие пользователи, не зная принципов работы программы и не работавшие с ранними версиями Macromedia Flash, осваивают ее с большим трудом.

Начнем с того, что сейчас, в основном, на рынок поступает англоязычная версия программы. Но параллельно с этим в Интернете появились неплохие русификаторы. Один из них можно загрузить с или . Размер файла этого русификатора чуть более 100 Kb, поэтому его загрузка займет совсем немного времени. Патч сжат в формате ZIP, поэтому, прежде чем его загружать, необходимо позаботиться о том, чтобы у вас был установлен какой-либо архиватор, позволяющий распаковывать ZIP-файлы. Для начинающего пользователя наиболее удобными являются такие программы, как, например, Zip Folders, позволяющие работать со сжатыми в ZIP-формате папками и файлами как с обычными. Загрузив и распаковав файл русификатора, вы обнаружите в его папке два файла: Readme, в котором очень толково описано, как установить русификатор, и файл Patch_Flash. Выделив щелчком мыши, скопируйте Patch_Flash. Затем с помощью проводника откройте папку Flash MX, где у вас уже должна быть установлена программа Macromedia Flash MX, и вставьте в эту папку файл Patch_Flash, запустите его двойным щелчком мыши. Patch_Flash создаст в папке программы Flash MX русифицированное приложение Flash.exe размером около 11 Mb, существующее англоязычное приложение при этом будет переименовано в Flash Backup.exe, и при желании, вы всегда сможете воспользоваться им, запуская его из папки Flash MX, т.к. из главного меню будет запускаться русифицированный вариант программы. Теперь все меню в программе Macromedia Flash MX 6.0 будут подробно (правда, правильность перевода некоторых команд в меню вызывает сомнение) переведены на русский язык, и неопытному пользователю будет намного легче ее освоить. Недостаток этого русификатора заключается в том, что Справка (Help) и комментарии к командам в панели Action Script остаются на английском языке. Но это поправимо, на сайте можно найти очень хороший учебник по Macromedia Flash MX 6.0, представляющий собой качественный перевод Helpa и дополненный авторами. Кроме того, для самостоятельного перевода можно воспользоваться любой программой-переводчиком, например Promt. Там же можно найти множество подробных и понятных рекомендаций по созданию различных flash-роликов и использованию для этого команд Action Script и готовые образцы (исходные файлы) различных flash-клипов. В Интернете имеется несколько десятков русскоязычных web-ресурсов с аналогичным содержанием. Найти их очень легко из любого поискового портала, сделав соответствующий запрос.

Итак, что же представляет собой программа Macromedia Flash MX 6.0? Запустив ее, можно обнаружить, что ее интерфейс очень простой, понятный и удобный. По внешнему виду он не сильно отличается от других текстовых и графических редакторов и не намного сложней, чем у Microsoft Word, которым умеют пользоваться многие начинающие пользователи. В верхней части окна программы расположена обычная строка главного меню и стандартная панель с кнопками "Открыть", "Создать" и т.д., ниже - панель "Временная диаграмма", т.е. диаграмма времени. На ней необходимо остановиться подробней. В левой части панели "Временной диаграммы" можно увидеть пиктограмму с изображением листа бумаги с наименованием - "Слой", справа от которого располагается линейка, разделенная равными делениями. Так вот, эта разделенная на равные участки линейка представляет собой аналог кинопленки, состоящей из отдельных кадров. Каждое деление этой линейки и есть кадр создаваемого вами клипа. В нижней левой части "Временной диаграммы" есть кнопка "Вставить фрейм", с ее помощью можно добавлять сколько угодно новых слоев - кинопленок, которые будут располагаться одна над другой, причем, показ этих слоев будет идти одновременно, так, если бы вы сложили несколько обычных кинопленок в несколько слоев и вставили их для одновременного просмотра в проектор. Слои можно удалять соответствующей кнопкой или перемещать мышкой выше или ниже относительно друг друга. В левой части окна программы расположена панель инструментов. Одного взгляда достаточно, чтобы определить назначение кнопок этой панели, это - кисть, ластик, прямая линия и др. Понятно, что все эти инструменты предназначены для рисования и создания текстов и надписей. Ниже панели "Временной диаграммы" расположена рабочая область, в которой мы и будем создавать видеоролик. В нижней части программы Macromedia Flash MX 6.0, под рабочей областью, имеется панель "свойства", в которой отображаются свойства объекта, с которым вы работаете. Например, если вы щелкнете мышкой в любом месте рабочей области, в окне панели "свойства" вы увидите параметры рабочей области, такие как цвет фона рабочей области и размеры рабочей области, которые можно изменять по своему усмотрению, нажав соответствующую кнопку, здесь же можно установить частоту показа кадров (Фрейм рэйт). По умолчанию, частота показа составляет 12 кадров в секунду, что вполне достаточно для большинства создаваемых видеоклипов. Но этот показатель можно изменять по вашему усмотрению. Но надо помнить, что если даже вы установите частоту показа 24 кадра в секунду, на компьютерах с маленьким объемом оперативной памяти и слабым процессором трудно добиться кинематографического качества картинки. Объекты в созданном вами видеоклипе могут двигаться замедленно или прерывисто. Особенно это явление заметно при создании больших по размеру flash-файлов с использованием большого количества растровых изображений, насыщенных мелкими деталями, или если вы будете злоупотреблять эффектами движения, вращения, изменения цвета и прозрачности объектов, что может привести даже к "зависанию" компьютера.

Программа Macromedia Flash MX 6.0 работает с двумя видами форматов графических изображений. Растровые изображения импортируются в Macromedia Flash MX 6.0 и состоят из цветных квадратных точек - пикселей, которые располагаются в координатной сетке. Изображения наиболее распространенных графических форматов - bmp, jpeg, gif и многих других имеют растровую структуру. При увеличении масштаба таких изображений каждый квадратик увеличивается в размерах, вместе с увеличением картинки. Он становится различимым невооруженным глазом, изображение и контуры объектов теряют четкость. При сильном увеличении размера растровой картинки ее изображение просто разбивается на цветные квадратики. С помощью инструментов, имеющихся в Macromedia Flash MX 6.0 (их выбор невелик, и будем надеяться, что в следующих версиях программы этот недостаток будет исправлен), можно создавать довольно сложные и качественные изображения, выполненные в векторной графике. В отличие от растровой, в векторной графике используется другой метод построения изображений. Векторная графика описывает объект направленными кривыми, представляющими собой контуры изображенного объекта, которые имеют цветовые значения и координаты. Изображение задается точками, через которые проходят линии (векторы), образуя контуры элементов изображения. Цвет объекта определяется цветом контура и заключенных в нем областей. Редактируя векторный объект, вы меняете свойства, из которых состоит изображение, т.е. вы изменяете координаты точек, создающих контуры объекта, и цвет области, заключенной в эти контуры. Можно передвигать объект, менять его размеры, форму и цвет, причем, эти изменения никак не повлияют на качество изображения. Т.е., при увеличении или уменьшении объекта просто изменяются координаты точек, задающих его контуры, а цвет объекта и качество линии, очерчивающей его контуры, не изменяется. Качество изображений, выполненных в векторной графике, не зависит от оптического разрешения, и потому векторные объекты можно воспроизводить на устройствах с различным оптическим разрешением без потери качества изображения. В программе Macromedia Flash MX 6.0 можно фотографические растровые изображения легко преобразовывать в векторные, с помощью команды "Трессировать рисунок" в меню "Изменить". Векторное изображение состоит из областей заданной формы, каждая из которых окрашена своим цветом. Поэтому, если вы захотите трессировать какое-либо фотографическое (растровое) изображение, насыщенное мелкими деталями, вам или придется пожертвовать качеством изображения, или получить векторный рисунок, состоящий из огромного числа мелких областей и занимающий солидный объем дискового пространства. Далее я напишу, как можно выйти из этого положения. Но если создаваемый вами flash-ролик не будет размещаться на web-странице, и большой размер файла вас не пугает, с таким векторным изображением можно сделать очень интересные эффекты. Например, ваш портрет, разделившись на множество мелких фрагментов, медленно перемещающихся по экрану и меняющих при движении форму, размеры и цвет, превратится в совершенно неожиданный объект, например, часть пейзажа или в какую-либо надпись. Как у растровых, так и у векторных изображений есть свои достоинства и недостатки, поэтому, комбинируя графику обоих форматов, можно добиваться поразительных результатов.

Готовый flash-ролик можно воспроизвести несколькими способами, в браузерах, в которых Flash Player установлен во время установки самого браузера (Flash Player входит в установочный пакет браузера), например, Netscape Navigator или Internet Explo-rer, с помощью средств Flash ActiveX в Microsoft Office, Microsoft Internet Explorer для Windows, или иначе, под управлением ActiveX в автономном приложении Flash Player, которое работает как подключаемый модуль (plugin) Flash Player. Кроме того, Macromedia Flash MX 6.0 позволяет сохранять flash-ролики в виде совершенно самостоятельного приложения с расширением.exe, и для его воспроизведения не требуется Flash Player или какое-либо другое средство просмотра. Я думаю, что этих сведений уже достаточно для того, чтобы попробовать создать небольшой flash-ролик, познакомиться с возможностями программы Macromedia Flash MX 6.0 и приступить к ее более детальному изучению.

Начнем с самого простого - запустим Macromedia Flash MX 6.0. В панели "Свойства" нажмем кнопку "Размер", и в появившемся меню установим размер рабочей области нашего ролика, например 200х200 пикселей. Затем в панели свойств выберем цвет фона рабочей области. Теперь можно установить продолжительность создаваемого вами фильма. По умолчанию, частота показа кадров (фрейм рэйт) составляет 12 кадров в секунду. Т. е., если вы хотите создать пятисекундный ролик, вам необходимо задействовать 5х12=60 кадров. Как мы уже знаем, временная диаграмма разделена на отдельные кадры, прямо над ней имеется линейка, на которой, с шагом в 5 кадров, указаны их номера. Macromedia Flash MX 6.0 позволяет анимировать объекты, т. е. отображать процесс их перемещения и/или изменения формы, размера, цвета и прозрачности и угла поворота. В Macromedia Flash MX 6.0 существуют два типа анимации: пошаговая (frame-by-frame) и кадрированная. Для пошаговой анимации каждый кадр необходимо создать отдельно, это будет работа, аналогичная анимации в gif-аниматорах, и размер таких файлов будет очень велик, т.к. для каждого кадра придется создать свою картинку. Для кадрированной анимации - используют первый и последний (ключевые) кадры, а содержание промежуточных кадров Macromedia Flash MX 6.0 создаст автоматически, в соответствии с заданными вами параметрами команд. Кроме того, можно создать анимацию с помощью команды "Set Property" (Задать свойства) в Action Script.

Итак, начнем создавать фильм. Выделим щелчком мыши первый кадр во временной диаграмме, по умолчанию он ключевой и отмечен кружочком. Ключевым кадр называется потому, что изменения, которые должны происходить по ходу видеоклипа, задаются именно ключевыми кадрами. Затем в панели инструментов выберем нужную кисть, ее размеры, и установим цвет, выбрав его в палитре, расположенной в нижней части панели инструментов. В рабочей области, например, в ее нижнем левом углу, нарисуем какой-либо простой рисунок или просто поставим точку. Затем щелчком мыши выделим шестидесятый кадр на временной диаграмме и преобразуем его в ключевой фрейм (кадр), нажав клавишу F6 или команду "Ключевой фрейм" из меню "Вставить". Мы увидим, что на участке временной диаграммы, между 1-м и 60-м ключевыми кадрами, будет сплошной участок, состоящий из промежуточных кадров. В кадрах, расположенных на этом участке, программа Macromedia Flash MX 6.0 будет создавать промежуточные кадры автоматически, без вашего участия, в соответствии с тем, какую команду вы ей зададите. Выделите шестидесятый (ключевой) кадр. Выберите в панели инструментов инструмент "Стрелка". С его помощью перетащите нарисованный вами объект из левого нижнего угла рабочей области в другое место, например, в правый верхний угол. Начальное и конечное положение нарисованного объекта может быть не только внутри, но и за пределами границ рабочей области, в зависимости от того, какую траекторию движения вы решили задать объекту. В то время, когда будет выделен нарисованный вами объект, в панели "Свойства" будут представлены свойства этого объекта (ему можно присвоить название, изменить цвет и т.д.). Затем выделите мышкой участок временной диаграммы, с 1-го по 60-й кадр. В панели "Свойства" появятся свойства этого участка. В меню (списке) "Закрутка", расположенного в панели "Свойства", выберите команду "фигур". Следует помнить, что эта команда может использоваться только для объектов, нарисованных инструментами, расположенными в панели инструментов, или векторных изображений, полученных командой "Трессировать рисунок" в меню "Изменить", из импортированных растровых изображений. Мы увидим, что 1-й и 60-й ключевые кадры теперь соединены стрелкой и весь участок временной диаграммы окрашен в светло-зеленый цвет. Если вместо стрелки, соединяющей ключевые кадры, будет пунктирная линия, значит, на этом участке временной диаграммы задана неверная команда. Теперь нажатием клавиш Ctrl+Enter вы можете просмотреть результат проделанной работы. Мы увидим, что объект плавно в течение 5 секунд перемещается из одного положения в другое. Освоив создание такого простого ролика, вы можете немного поэкспериментировать с ним, чтобы понять возможности Macromedia Flash MX 6.0.

Необходимо помнить, что редактировать объекты можно только в ключевых кадрах, промежуточные кадры (не ключевые) не редактируются. Но если, в процессе вашей творческой работы, появилась такая необходимость, вы можете выделить любой промежуточный кадр во временной диаграмме и преобразовать его в ключевой клавишей F6, для того чтобы отредактировать. Выделите 1 ключевой фрейм (кадр). Инструментом "Стрелка" щелкните на нарисованном объекте, теперь, выбрав другой цвет или градиентную заливку в палитре, вы можете изменить цвет объекта в первом ключевом кадре. Кроме того, выбрав кнопку "Свободная трансформация", "Субвыделение" или взяв "Ластик", вы можете изменить размеры и форму объекта до неузнаваемости. Можно выделить объект, удалить его клавишей Delete и нарисовать вместо него другой. Аналогичным образом можно изменить и объект, расположенный в шестидесятом ключевом фрейме. Выделяя промежуточные кадры во временной диаграмме щелчком мыши или двигаясь в ней с помощью кнопок "<" и ">", мы можем посмотреть в покадровом режиме, как Macromedia Flash MX 6.0 изменяет форму и положение нарисованного объекта в промежутке между ключевыми кадрами. Причем, размер файла в таком режиме будет иметь очень маленький объем. Попробуйте выделить один из промежуточных кадров, например 20-й, и нажатием F6 сделать его ключевым, теперь и в 20-м кадре можно редактировать объект. Для рисования объектов, кроме кисти, на панели инструментов имеются - линия, овал, прямоугольник и карандаш. С их помощью можно сделать довольно привлекательные рисунки.

Теперь попробуйте сделать фильм с использованием надписи. Для этого можно создать новый flash-документ, а можно немного усложнить задачу и создать новый слой во "Временной диаграмме", кнопкой "Вставить фрейм". Во "Временной диаграмме" появится новый слой с первым ключевым кадром и по продолжительности равный предыдущему, существующему слою (60 кадров). Назовем его "Надпись". Выделим во временной диаграмме 1 ключевой кадр нового слоя. В панели инструментов нажмем кнопку "Текст", в панели "Свойства" установим необходимый шрифт, его цвет и размер. В любом месте рабочей области нарисуем курсором прямоугольную область надписи и напишем любое слово. Если вам необходимо, чтобы текст перемещался из одного места рабочей области (или из-за ее пределов) в другое в течение 3 секунд, вам необходимо вставить второй ключевой фрейм в 36-м кадре слоя "Надпись" кнопкой F6. Причем, вы можете установить начало этого события не с первого кадра временной диаграммы, а с любого другого, преобразовав этот кадр в ключевой. Просто, если вы хотите, чтобы действие длилось 3 секунды, второй ключевой кадр надо установить через 36 кадров после первого. Во втором ключевом кадре, инструментом "Стрелка", переместим написанное вами слово в другое место рабочей области или за ее пределы. Выделите участок временной диаграммы "Надпись" от первого (ключевого) до 36-го (ключевого) кадра. В панели свойств, в меню (списке) "Закрутка", выберем строку "Движен". Не пытайтесь применить команду "Фигур" для анимации надписи, она работает только с нарисованными и импортированными векторными рисунками. В том же окне имеется меню "поворот", если вы выберете строку "Нет", надпись будет просто плавно перемещаться из одного положения в другое. Если в меню "Поворот" вы выберете "CW", надпись будет перемещаться из одного положения в другое, вращаясь по часовой стрелке, при выборе "CCW" вращение будет против часовой стрелки. Там же можно установить число оборотов, которое сделает надпись при движении из одного положения в другое, и сместить центр, вокруг которого вращается объект. Просмотрите результат, нажав Ctrl+Enter. Если вы хотите, чтобы надпись, или импортированный рисунок изменяли по ходу фильма цвет и прозрачность, необходимо освоить еще одну команду.

Создайте еще один слой во "Временной диаграмме" и назовите его "Надпись 1". В первом ключевом фрейме создайте надпись. Теперь нажмите клавишу F8 или выберите "Конвертировать в символ" из меню "Вставить". В появившемся окне "Convert to Simbol" укажите "Рисунок". Вставьте второй ключевой фрейм, например в 60-й кадр. Выделите надпись в 60-м ключевом кадре, щелкнув по ней мышкой. В панели "Свойства" вы увидите меню (список) "Цвет". Если вы хотите, чтобы ваша надпись плавно становилась прозрачной, выберите из списка команду "Alpha" и с помощью расположенного рядом движка установите уровень прозрачности. Если вы хотите, чтобы ваша надпись плавно изменяла цвет, в меню "Цвет" выберите из списка "Tint" и с помощью палитры, расположенной рядом, выберите нужный цвет. Теперь выделим участок временной диаграммы в слое "Надпись 1" и в панели "свойства", в меню "Закрутка" выберем из списка "Движен", а в списке "Поворот" - "нет" или поворот по часовой (CW), или против часовой стрелки (CCW).

При просмотре вашего видеоклипа события будут разворачиваться на фоне рабочей области, равномерно окрашенной в выбранный вами цвет. Для того чтобы заданные вами события проходили на фоне какого-либо красивого ландшафта или любой другой фотографии или рисунка, его необходимо импортировать в Macromedia Flash MX 6.0. Создайте какое-либо изображение или фотографию с размерами 200х200 пикселов, соответствующее размеру вашей рабочей области в любом графическом редакторе, например в Photoshop. Сохраните эту картинку в формате gif или jpeg, в какой-либо папке, например, в папке "Мои документы". Желательно, чтобы размер файла созданной вами картинки был небольшим, если вы захотите разместить созданный видеоклип на страницах вашего сайта. Теперь перейдите в Macromedia Flash MX 6.0. Создайте новый слой кнопкой "Вставить фрейм", расположенной внизу левой части панели "Временной диаграммы". Назовите его "Фон" и перетащите мышкой вниз так, чтобы он располагался под ранее созданными слоями. Откройте "Файл" в главном меню и выберите "Импортировать". С помощью появившегося окна "Импортирование" (обычное окошко обзора) откройте папку ("Мои документы"), где вы храните созданную вами картинку с фоном, выберите файл этой картинки, выделив его щелчком мыши, и нажмите кнопку "Открыть". Эти манипуляции приведут к тому, что картинка окажется в рабочей области Macromedia Flash MX 6.0 в слое "Фон". Выравнивать ее положение, так чтобы ее края совпали с границами рабочей области, вручную не очень удобно. Для этого лучше использовать кнопки "Распределить центр по вертикали" и "Распределить центр по горизонтали", расположенные в окне "Выравнивание". Теперь можно просмотреть полученный результат, нажав Ctrl+Enter.

Теперь, когда вы знаете, как импортировать рисунки в Macromedia Flash MX 6.0 и как заставить перемещаться объекты, можно перейти к следующему шагу в освоении программы. Итак, мы можем располагать события в видеоклипе параллельно и последовательно, в соответствии с этим и будет протекать показ фильма. Если в фильме будет много событий и они будут располагаться последовательно, и продолжительность каждого события будет велика, временная диаграмма станет очень длинной, с ней будет очень неудобно работать, при редактировании вам придется постоянно перемещаться по временной диаграмме, чтобы найти нужный участок. Для того чтобы исключить такие неудобства, во временной диаграмме предусмотрена возможность создания папок, в которые можно группировать слои. Сделать это очень просто: в нижнем левом углу панели временной диаграммы, нажмите кнопку "Insert Layer Folder" ("Вставить папку слоев") и перетащите в него мышью выбранные вами слои фильма. Но этот способ позволяет разместить более компактно параллельные слои видеоролика. Если создаваемый вами фильм будет иметь большую продолжительность, а следовательно, временная диаграмма будет очень длинной, его можно разделить на несколько последовательных сцен. Созданный нами ролик имеет продолжительность 60 кадров (5 секунд) и занимает почти всю видимую часть временной диаграммы, поэтому следующую часть фильма мы будем создавать в другой сцене. В меню "Вставить" выберите "Сцена". После этого вы увидите, что появилась чистая рабочая область и временная диаграмма. Для удобства работы, каждой сцене можно дать удобное для вас название. Для перехода из сцены в сцену вы можете использовать кнопку "Изменить документ", открывающую список созданных вами сцен. Кнопка располагается в правом нижнем углу временной диаграммы. Количество сцен, на которые разбивается фильм, неограниченно, я обычно делаю сцены не длиннее 65-70 кадров, это как раз видимая часть панели временной диаграммы. Но все зависит от вашего вкуса и желания. При воспроизведении видеофильма сцены будут воспроизводиться последовательно, в том порядке, в котором вы их расположите.

Теперь попробуйте создать сцену, часто используемую современными flash-дизайнерами. Воспроизведение этой сцены создает эффект движущейся видеокамеры, снимающей какой-либо интерьер, ландшафт или любое другое крупное изображение. Импортируйте в Macromedia Flash MX 6.0 какое-нибудь изображение в формате jpeg. Назовите этот слой "Пейзаж". Размер нашей рабочей области 200х200 пикселов. Желательно, чтобы размер импортируемой картинки превышал размеры рабочей области хотя бы в 1,5-2 раза, например, возьмите картинку с размерами 350х400 пикселов. Выделите щелчком мыши 50-й кадр временной диаграммы, и, нажав клавишу F6, преобразуйте его в ключевой. Затем с помощью кнопки "Добавить слой движения", расположенной во временной диаграмме, создайте слой. Слой движения отличается от обычного тем, что при воспроизведении готового фильма объекты, расположенные в слое движения, не будут видны. Для того чтобы нам не мешала работать дальше импортированная картинка, ее следует на время скрыть и блокировать с помощью соответствующих кнопок, расположенных в левой верхней части панели временной диаграммы. Нажав соответствующую кнопку на панели инструментов, нарисуйте в рабочей области прямоугольник с размерами 200х200 пикселов, и выровняйте его так, чтобы его края совпадали с границами рабочей области. Для удобства работы следует рисовать прямоугольник без заливки, т. е. прозрачный. Затем снимите блокировку и скрытие со слоя с картинкой и установите блокировку на "Слой движения". Это нужно для того, чтобы во время манипуляций с импортированной картинкой не выделялся прямоугольник, нарисованный в "слое движения". Вы увидите, что нарисованный вами прямоугольник находится на фоне импортированного изображения. Выделите мышью 10-й кадр в слое "Пейзаж" и клавишей F6 вставьте ключевой фрейм. Затем перетащите картинку в любое место, но так, чтобы нарисованный прямоугольник, обозначающий границы рабочей области, обязательно целиком находился в границах импортированной картинки. Выделим 20-й кадр, клавишей F6 сделаем его ключевым, и опять перетащим картинку в другое место, не забывая о том, что прямоугольник не должен выйти за ее границы. То же самое сделаем в 30-м и 40-м кадрах. Затем выделите в слое "пейзаж" участок временной диаграммы с первого по пятидесятый кадры. На панели "Свойства" в списке "Закрутка" выберите "Движен". Вы увидите, что в слое пейзаж временная диаграмма приобрела светло-сиреневый цвет и ключевые кадры соединены стрелками. Просмотрите полученный результат, нажав Ctrl+Enter. Поэкспериментируйте, изменяя положение картинки в ключевых кадрах. Если вы удовлетворены результатом, "Слой движения" можно просто удалить. В этой сцене мы использовали большое по размерам изображение, при таких больших геометрических размерах размер файла картинки обычно также велик. Для создания не менее эффектной, но меньшей по размеру сцены можно применить картинку и меньшего размера. Такой прием я подсмотрел в большом рекламном баннере, показанном на Yahoo.

Создайте новую сцену из меню "Вставить". Импортируйте в Macromedia Flash MX 6.0 gif или jpeg картинку с размерами 150-250х150-250 пикселов. Назовите этот слой "Рисунок". Выделите 50-й кадр в этом слое и сделайте его ключевым клавишей F6. Теперь создайте новый слой кнопкой "Вставить фрейм" и назовите его "Экран". Этот слой должен быть обязательно над слоем "Рисунок". Длина его временной диаграммы будет также 50 кадров. Выделите в слое "Экран" первый ключевой кадр и нарисуйте прямоугольник любого цвета с размерами 200х200 пикселов, выровняйте так, чтобы его края совпадали с границами рабочей области. Измените цвет заливки в нижней части панели инструментов и нарисуйте небольшой овал или прямоугольник (лучше с закругленными краями), размерами приблизительно 80х80 пикселов, на небольшом расстоянии от рабочей области. Этот небольшой прямоугольник (или овал) перетащите мышью на поверхность квадрата, закрывающего рабочую область, и установите в любом месте, лучше ближе к середине (а впрочем, это ваше дело). Если теперь мы выделим этот прямоугольничек или овал щелчком мыши и удалим клавишей "Delete", на его месте окажется отверстие, повторяющее форму удаленной фигуры. Через это отверстие мы и увидим перемещение импортированного рисунка. Поэтому, взяв кисть (и другие инструменты) и немного ею поработав, можно превратить отверстие, например, в экран телевизора, дисплей компьютера и т.д. Установите блокировку слоя "Экран" соответствующей кнопкой, расположенной в левой части панели временной диаграммы. Это нужно для того, чтобы нам было удобно перемещать мышью картинку в слое "Рисунок". Теперь перейдите в слой "Рисунок", выделите в его временной диаграмме 10 (или любой другой в начале временной диаграммы) кадр и сделайте его ключевым нажатием клавиши F6. Перетащите картинку в любое место, так чтобы ее края на заходили внутрь отверстия в "экране". Вставьте через некоторые промежутки еще 2-3 ключевых кадра, не забывая в каждом из них перемещать мышью (впрочем, можно и клавишами стрелок) рисунок в различные положения. Выделите участок временной диаграммы с 1-го по 50-й кадр слоя "Рисунок", и в панели "свойства" из списка "Закрутка" выберите "Движен". Теперь можно создать еще один слой, назвать его "Украшения", перетащить его во временной диаграмме так, чтобы он стал над предыдущими, нарисовать в нем что-нибудь, или сделать пару надписей (это для красоты) и, нажав клавиши Ctrl+Enter, посмотреть результат нашей работы.

Теперь необходимо познакомиться с возможностями Action Script. Выделите любой ключевой кадр в конце временной диаграммы, например 50-й кадр в слое "Рисунок". Нажмите клавишу F9 или выберите команду "Действия" в меню "Окно". После этого появится панель Action Script с надписью вверху - "Действия - фрейм". В левой части панели имеется окно со списком действий. Выберите Actions из открывшегося списка, выберите Movie Control, а затем двойным щелчком мыши или перетаскиванием в окно панели, расположенное справа, действие "Stop". Теперь просмотрите полученный результат нажатием Ctrl+Enter. Мы увидим, что показ созданного нами фильма прекращается на последнем кадре.

Создайте слой "Кнопка", перетащите его над предыдущими слоями и нарисуйте в рабочей области прямоугольник. Выделите первый ключевой фрейм и нажмите F8, в появившемся окне Convert to Simbol выберите "Кнопка" и назовите ее "Выключатель". В нижней части панели временной диаграммы, справа, нажмите кнопку "Изменить символ" и выберите "Выключатель". Вы увидите, как в центре рабочей области появился нарисованный вами прямоугольник, который и будет кнопкой. Во временной диаграмме будет четыре кадра. Выделите первый ключевой кадр (вверх), сделайте надпись "Старт" и расположите ее на прямоугольнике, изображающем кнопку. Затем выделите второй кадр "Навести" и сделайте его ключевым. Выделите надпись "Старт" и измените ее цвет с помощью панели "Свойства". Выделив кадр "Вниз", сделайте его ключевым и перетащите изображение кнопки на несколько миллиметров вниз и вправо. После этого вернитесь в последнюю сцену с помощью кнопки "Изменить документ". Выделите кнопку, изображенную в рабочей области, щелчком мыши. Вверху панели Action Script будет надпись - Actions Button. В левой части панели выберите "Actions", затем "Movie Control", и наконец, двойным щелчком мыши или перетаскиванием в окно справа - действие "Play". Просмотрите результат, нажав Ctrl+Enter. Ваш фильм будет останавливаться на последнем кадре. Там же будет нарисованная вами кнопка. При наведении на нее курсора цвет надписи "Старт" будет изменяться, а при нажатии на кнопку фильм будет демонстрироваться с начала. Если вы хотите озвучить свой фильм, создайте отдельный слой, если звуков будет много и они должны воспроизводиться параллельно, создайте несколько слоев. Выделите кадр, с которого должно начинаться воспроизведение звука, сделайте его ключевым и импортируйте его в Macromedia Flash MX 6.0. Следует помнить, что это должны быть звуковые файлы с расширением МР3 или wav, с другими форматами программа не работает.

Сохранить созданный файл можно из меню "Файл", выбрав "Издание" или "Экспорт видео". Установки издания можно также установить из меню "Файл". Опытные flash-дизайнеры, прочитав статью, могут сказать, что в ней описаны самые примитивные приемы работы, но цель этой статьи - кратко познакомить начинающего пользователя с возможностями программы, после чего он сможет приступить к ее серьезному изучению.


Начальство поставило задачу: нужно поддерживать в актуальном состоянии Flash Player. Масштабы: ~15000 компов, на половине из которых FP действительно нужен.

Казалось бы, в чём проблема - делаем доменную политику, запихиваем MSI пакет и радуемся… Но не тут-то было! Структура компании сильно распределена, т.е. в удалённые точки с каналом ~1мбит на 20 компов пропихнуть политиками даже 15мб уже проблема - утром сотрудники включают компьютер и по полчаса ждут загрузки, пока всё скачается и поставится (или просто отвалится по таймауту). Не говоря уже о том, что компы в подобных офисах имеют неприятное свойство периодически из домена выпадать.

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

Выручил, как обычно, Гугл: оказалось, что можно поднять внутренний сервер обновления и настроить на него встроенное средство обновления FP. При этом на клиенты нужно будет только распространить файл настроек. Подробности под катом.

Настройка сервера обновлений

1. Получаем лицензионное соглашение

Для распространения своего ПО Adobe требует получить лицензионное соглашение. Не будем нарушать условия использования и получим лицензию (благо, это совсем не сложно): FlashPlayer: Adobe Runtimes / Reader Distribution License Agreement . Лицензия выдаётся сроком на год. По истечении можно отправить запрос ещё раз.

2. Поднимаем веб-сервер

Платформа роли не играет, в моём случае вертится N-ным сайтом на IIS под Win2012. Ресурсов оно практически не жрёт даже при том, что уже ~3000 компьютеров настроены на этот сервер.

Настройки сервера:

  • Доступ по портам 80, 443 (http, https соответственно).
    Первый нужен, собственно, для скачивания, по второму FP будет ходить за XML-кой актуальной версии.
  • Валидный сертификат https.
    Я выписывал сертификат на основе корневого корпоративного, который по умолчанию есть на всех машинах.
  • Листинг директорий.
    Не проверял работу без него - в документации просят, я решил сделать как написано.
Подробно останавливаться на настройке сервера не буду.

Для наглядности назовём сервер FlashPlayerUpdate.domain.local .

3. Скачиваем ресурсы и выкладываем на сервер

В корне веб-сервера создаём дерево директорий: /pub/flashplayer/update/current/sau/ .

Дерево директорий на моём сервере:

Если вы запросили лицензию на первом шаге, то в ответ должно прийти письмо со ссылкой, откуда скачивать FlashPlayer - проходим по этой самой ссылке. Если не пришло, или не запрашивали, то идём сюда: https://www.adobe.com/products/flashplayer/distribution3.html и скачиваем архив по ссылке "Download Background Update Resources ":

Extended Support Release или Public Release

Тут нужно сделать ремарку. На страничке 2 варианта загрузок: стандартный (Public) и Extended Support Release. В моём случае важна стабильность работы и не нужны новые фичи, поэтому был выбран вариант ESR. При этом я добавил себе некоторое количество геморроя: паблик версию можно напрямую выкачивать скриптом с сайта Macromedia. Как выкачивать ESR, я так и не нагуглил, поэтому в моём случае обновление контента на внутреннем сервере происходит в ручном режиме.

В конце статьи приложил 2 скрипта PowerShell: для автоматического обновления (только для стандартной версии; легко портируется на bash), для проверки обновлений и оповещении по e-mail (для любой версии, в т.ч. ESR).


Скачанный архив распаковать в папку /pub/flashplayer/update/current/sau/ на сервере.

4. Распространяем на клиенты файл конфигурации

В зависимости от разрядности системы:

  • 32-bit: C:\Windows\System32 \Macromed\Flash\mms.cfg
  • 64-bit: C:\Windows\SysWOW64 \Macromed\Flash\mms.cfg
Распространять можно любыми способами. Я использовал сочетание доменной политики и сервера администрирования антивируса (для компов, которые вылетели из домена).

В файле включаем тихое автообновление, прописываем интервал обновлений (в днях), путь к нашему серверу, и на всякий случай логирование, чтобы проще было диагностировать проблемы, если они возникнут:

AutoUpdateDisable=0 SilentAutoUpdateEnable=1 AutoUpdateInterval=2 SilentAutoUpdateServerDomain=FlashPlayerUpdate.domain.local SilentAutoUpdateVerboseLogging=1
Если всё было сделано верно, то Flash Player на клиентских машинах должен начать обновляться по расписанию (согласно приведённому файлу выше - раз в 2 дня). Обычно сервис обновления Adobe запускается раз в час для проверки условий обновления - в это время Updater должен увидеть файл конфигурации, перенастроить обновления согласно прописанным настройкам и сходить на новый сервер проверить версию.

То есть примерно через час после распространения файла конфигурации можно смотреть логи на сервере на предмет запросов на проверку версии.

Автоматизация

Как классический представитель айтишного братства, я терпеть не могу рутинную ручную работу и просто ну никак не мог не автоматизировать процесс проверки и выкачивания новой версии. Однако, как отмечено выше, пока я не нашёл способа выкачивать версии ESR с сайта Macromedia, потому скриптом только проверяю обновления. Предложения приветствуются.
Скрипт для автоматического скачивания обновлений
Только для публичной версии!

Логика работы: скрипт в тупую скачивает файлы обновления напрямую с Macromedia для версий 11,15,16,17,18,19 (если какую-то версию уже убрали с сайта - скрипт просто ругнётся, что не смог скачать и пропустит) и кладёт с заменой на сервер обновления. Никаких проверок версий. На этапе тестирования я использовал этот скрипт: запускал через шедулер на сервере по ночам.

При желании можно скрестить этот скрипт и следующий и получить полную автоматизацию с проверкой версий, оповещениями и скачиванием только при наличии обновлений.

Параметры скрипта:

  • *FPRoot - путь к корневой папке сервера обновлений. Локальный, или сетевой. Естественно, у пользователя, от которого будет запущен скрипт, должны быть права на запись в эту папку.
  • FPDownloadRoot - путь на сайте Macromedia. Задан по умолчанию, но можно изменить при необходимости.
  • DownloadProxy http:// proxy.domain.local.
  • ProxyCreds
  • UserAgent
  • Force
* - обязательный параметр

Пример использования:

Powershell.exe -command "& ".\FPUpdater.ps1" -FPRoot "\\FlashPlayerUpdate\pub\flashplayer\update\current\sau" -DownloadProxy "http://proxy.domain.local" -ProxyCreds "DOMAIN\UserName" -UserAgent "Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko""
Все параметры можно захардкодить в скрипт, если пугают длинные строчки запуска.

Скрипт для проверки обновления и оповещения по e-mail
Проверка обновлений идёт по стандартной версии, но поскольку обновляются они одновременно (security-фиксы никто не отменял), то прокатит и для ESR. Для работы скрипта нужно создать в корне веб-сервера (рядом с папкой pub) файл CurrentPublic , в который вписать текущую публичную версию для ActiveX (для проверки используется именно версия ActiveX).

Логика работы: скрипт сравнивает версию, полученную из файла CurrentPublic с вашего сервера с версией на сервере Macromedia. Версию на сервере смотрит по логике автообновлялки: сначала ищет в XML текущий мажорный билд, идёт в папку с мажорным и там смотрит полный билд.

Параметры скрипта:

  • *FPIntServerRoot - Адрес нашего сервера. Например: FlashPlayerUpdate.domain.local
  • FPDownloadRoot - путь на сайте macromedia. Задан по умолчанию, но можно изменить при необходимости.
  • ESR - проверять ESR версию (без этого флага будет проверять публичную).
  • DownloadProxy - прокси сервер, если используется в компании. Писать полностью: http:// proxy.domain.local.
  • ProxyCreds - имя пользователя для авторизации на прокси.
  • UserAgent - для изменения юзерагента, с которым PowerShell пойдёт качать. Например, у нас на прокси ограничение по UserAgent-ам, я хожу с агентом Internet Explorer.
  • Force - отключить проверку сертификатов командлета Invoke-Webrequest (точнее, заставить доверять всем сертификатам).
  • *MailTo - e-mail адреса, на которые будут приходить уведомления.
  • *MailFrom - от кого будут приходить уведомления. Например: [email protected]
  • SmtpServer - smtp-сервер, через который будет производиться отправка сообщения.
* - обязательный параметр

Пример использования:

.\FPCheckUpdate.ps1 -FPIntServerRoot "fp-update.domain.local" -ESR -Proxy "http://proxy.domain.local" -UserAgent InternetExplorer -Force -MailTo "[email protected]","[email protected]" -MailFrom "[email protected]" -SmtpServer "smtp.company.com"

Использованные ресурсы

UPD

Слегка запоздалый апдейт от 17.06.16.

С момента написания статьи Adobe успели 2 раза поменять порядок доступа к странице загрузки FlashPlayer"а. В итоге теперь чтобы получить доступ к странице для скачивания, нужно сперва авторизоваться в Adobe ID. Т.е. вариант с парсингом страницы на предмет версии ESR больше не прокатывает.

Морочиться с авторизацией, получением-отправкой cookie через PowerShell пока не стал. В итоге переделал скрипт для проверки ESR на страницу distribution3 , которая может пропасть в любой момент. Пока так, дальше будет видно.

Я ещё в начале года задавал вопрос на форуме Adobe на тему проверки обновлений версии ESR. Обещают что-то придумать, но пока воз и ныне там.

UPD2

На днях на странице распространения Flash Player (ссылку на которую вы получили, получив лицензию на распространение) появилась следующая информация:

ВНИМАНИЕ! Важные изменения с Extended Support Release

Изначально выпуск Extended Support Release создавался с целью свести к минимуму время, которое тратят ИТ-администраторы на сертифицирование каждого нового выпуска Flash Player: Extended Support Release ограничивал изменения, вносимые в выпуск, до изменений в системе безопасности и исправлений критических функциональных неполадок. На тот момент функциональных изменений в каждом выпуске Flash Player было намного больше, чем изменений в системе безопасности. Однако сейчас ситуация изменилась: число упреждающих и ответных мер безопасности намного превышает функциональные изменения. На практике Extended Support Release больше не ограждает ИТ-организации от огромного количества изменений, вносимых в стандартные выпуски Flash Player, а лишь снижает функциональные риски. В связи с этим было принято решение прекратить выпуск Extended Support Release и сконцентрироваться на разработке только стандартных выпусков. Добавить метки


Лекционные материалы, домашние задания и тесты
дистанционного курса «Электронная школа Macromedia Flash MX»
Российская еженедельная методическая газета для учителей информатики. Издательский дом «Первое сентября» № 42 (2003 год)
«Аналог программы «Правилка» из пакета «Хиты Роботландии»
в среде Macromedia Flash».

Печатные публикации

ЭЛЕКТРОННАЯ ШКОЛА MACROMEDIA FLASH MX
III курс: Основы программирования в Macromedia Flash MX
Модуль IV: Команда with. Программа «Правилка»
Язык ActionScript

Экспресс-план модуля:
  • Команда with
  • Flash-дублёр программы «Правилка» из пакета «Хиты Роботландии».

Команда with

При использовании объектов в программном коде (скрипте) нетрудно заметить, что даже в небольшом блоке скрипта неоднократно повторяется название одного и того же объекта. Особенно часто подобные повторения происходят при использовании некоторых отдельных объектов, например объектов Math , относящихся к верхнему уровню. Например, следующий код является довольно распространённым:

A = Math.PI * r * r; x = r * Math.cos(Math.PI); y = r * Math.sin(Math.PI/2);

Здесь объект Math встречается неоднократно, что затрудняет восприятие скрипта. Эту запись можно значительно упростить, если блок скрипта заключить в скобки, воспользовавшись командой with. Тогда в пределах данного блока скрипта интерпретатор ActionScript будет обращаться к указанному объекту. Теперь код можно переписать в следующем виде:

With (Math) { a = PI * r * r; x = r * cos(PI); y = r * sin(PI/2); }

Давайте познакомимся с общим форматом команды:

with (object) {
statement(s);
}

object — экземпляр ActionScript объекта или Movie Clip.

statement(s) — команда или группа команд, заключенных в фигурные скобки.

Давайте разберём ещё один пример, в котором в качестве объекта используется MovieClip с именем someOtherMovieClip:

With (someOtherMovieClip) { _x = 50; _y = 100; gotoAndStop(3); }

Следующий отрывок скрипта показывает, как можно написать предшествующий пример без использования команды with:

SomeOtherMovieClip._x = 50; someOtherMovieClip._y = 100; someOtherMovieClip.gotoAndStop(3);

Возможно использование вложенных команд with для доступа к информации во многих контекстных областях.

Flash-дублёр программы «Правилка» из пакета «Хиты Роботландии»

В ходе программирования работы кнопок мы активно будем использовать оператор ветвления: if и if else. А также организуем работу счётчика, прибавляющего очки пользователю в случае правильного ответа и отнимающего очки, в случае когда, не исправив ошибку, или произведя некорректные исправления, пользователь нажмёт кнопку «Далее».

Организуем работу Movie Clip (priz), в котором будет размещён «Призовой фонд». В том случае если пользователь наберёт 10 очков, его приз будет представлять собой корзину с аппетитными фруктами. Если в копилке пользователя окажется 9 или 8 очков в качестве приза он получит кусок сыра, если пользователю «посчастливится» набрать 6 или 7 очков он получит тыкву, ну а в том случае если он наберёт 5 или менее 5 очков ему достанется помидор!

Для любителей пятибалльной оценки переведём вышесказанное на доступный для школьного журнала язык:

Корзина с фруктами — 5 ;
Кусок сыра — 4 ;
Тыква — 3 ;
Помидор — 2 .

При обращении к Movie Clip мы будем использовать команду with.

На нашей сцене будет использовано 11 кадров. Первые 10 кадров будут представлять собой «рабочие листы», на которых будут размещены словосочетания с грамматическими ошибками (Input Text). Обычно поля ввода оставляют пустыми, но в нашем случае они должны работать! На каждом листе будет запрограммирована работа динамического поля. В том случае если пользователь не исправит грамматическую ошибку, в него будет выведен текст: «Вы не исправили ошибку!».

В данной программе использованы два слоя. Нижний слой — background на нём размещён статический текст «Программа Правилка», и графический символ со шляпой.

В том случае если вы непременно хотите использовать в программе для написания заголовка какой-нибудь экзотический шрифт, установленный на вашей машине, не забудьте использовать для этого текста процедуру Break Apart из меню Modify. Иными словами, превратите текст в графику. И тогда ваш текст не превратится в абракадабру на машине, где этого шрифта нет!

Теперь всё по порядку. 1 кадру пропишем скрипт:

Stop(); fscommand("showmenu", "false"); i = 0;

При проигрывании ролика необходимо отключить «Меню». Таким образом, мы не позволим пользователю сделать «шаг назад». И ещё мы «включаем» счётчик.
2-10 кадру пропишем акцию:

Работу кнопок рассмотрим на примере первого кадра. Остальные кнопки вы сможете запрограммировать самостоятельно.

On (release) { if (t1=="Белая хризантема") { i++; gotoAndPlay(2); } else { i--; z1 = "Вы не исправили ошибку!"; } }

Теперь сформируем «Призовой фонд». Создадим новый символ типа Movie Clip с именем priz в котором будут работать 5 кадров. Всем кадрам клипа пропишем акцию:

Первый кадр клипа будет пустым.

Во втором кадре поместим корзину с фруктами и пропишем кадру метку: five .
В третий кадр поместим кусок сыра и пропишем кадру метку: four .
В четвёртый кадр поместим тыкву и пропишем кадру метку: three .
В пятый фрейм поместим помидор и пропишем кадру метку: two .

В данной программе всё это «продовольственное разнообразие» было импортировано из коллекции ClipArt97 (wmf-файлы). Впрочем, вы можете сформировать свой собственный «Призовой фонд», всё зависит исключительно от вашей фантазии.

Вернёмся на сцену и на последнем 11 кадре поместим созданный нами клип с призами. Не забудьте прописать его на сцене. Instance Name: priz . Этому кадру пропишем скрипт, который будет, анализируя содержимое счётчика, «выдавать» пользователю приз:

Stop(); sh = i; with (_root.priz) { if (i

Протестируйте ролик. И если это необходимо произведите его отладку.

Для упрощения процесса тестирования создайте на последнем кадре поле динамического текста с именем sh и в это поле выводите данные счётчика. Для этого в скрипт 11 кадра добавьте второй строкой:

После завершения процесса отладки удалите это поле и прописанную вами строку.

Домашнее задание: Основы программирования в Macromedia Flash MX

О, сколько нам открытий чудных
Готовят просвещенья дух
И опыт, сын ошибок трудных,
И гений, парадоксов друг,
И случай, бог-изобретатель.
Александр Сергеевич Пушкин, «Евгений Онегин»

Ваша задача состоит в создании ролика дублирующего материал, изложенный в этой лекции. Словосочетания вы можете подобрать самостоятельно.

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

Выполненное задание представьте в виде файла в формате fla (если размер файла превысит 150 Кб, пожалуйста, упакуйте файл в архив) и вышлите учителю.

Желаю Вам успехов в самостоятельном изучении Macromedia Flash MX!

Загрузка...