выпуск 19
интерактивность и ActionScript часть-7
После начала выхода серии выпусков посвященных
изучению ActionScript стало поступать много писем с просьбой помочь разобраться,
почему у них ничего не получается. Во всех случаях оказывается, что результатом
ошибок является простое невнимание при чтении выпусков или при работе со
скриптом, а порой и недостаточное желание разобраться самому. Разумеется, начав,
учится Flash, и без особых проблем освоив принципы анимирования, могло создаться
ощущения простоты в реализации любого сценария. В большинстве случаев так оно и
есть, но если Вы действительно хотите создавать серьезные работы, Вам просто
необходимо научится писать скрипты. Это не так сложно, достаточно понять
основной принцип построения команд и их синтаксис. Именно поэтому, я стараюсь
подробно описать, что нужно сделать, что бы добиться поставленной задачи.
Начиная с этого выпуска, Вы можете не только прочитать, но и посмотреть
приведенные примеры в авторском (т.е. моем) варианте. В настоящий момент на
сайте выложены материалы данного выпуска и пример скроллинга текста (именно он
вызвал наибольший поток писем), каждая работа имеет комментарии, которые
помогут разобраться со скриптом. Все примеры доступны в разделе "Скачать".
Перед тем, как начать очередной урок, хочу
рассказать Вам о своем новом проекте - "персональной мини-системы кнопочной
рекламы". Большинство из Вас имеет собственный сайт, а зачастую и не один.
Любой кто создавал свой сайт сталкивался со сложностями имеющихся на нем кнопок
88х31. Размещение кнопок крайне неудобно с точки зрения дизайна сайта, большое
количество установленных кнопок сильно замедляет общую загрузку страниц, что
вызывает раздражение посетителей и может даже привести к их уходу с сайта.
В то же время мы хотим, что бы наша кнопка, не
висела безрезультатно на других сайтах, оставаясь незамеченной среди множества
других. Как решить эти и множество других вопросов?
В результате был разработан
MbA модуль использующий возможности Flash технологии.
MbA модули основаны на едином универсальном принципе,
который позволяет обеспечить максимальные удобства как для Web мастера, так и для
посетителей сайта.
Web-мастер получает в свое распоряжение удобное
средство, избавляющее его от необходимости решения проблем, размещения большого
количества кнопок на сайте. Случайный выбор демонстрируемой кнопки и ее
текстовое описание гарантирует справедливое распределение площади при большем
рекламном эффекте. Отсутствие необходимости применения JavaScript и cgi
избавляет от зависимости размещения на конкретном сервере.
Индивидуальная гибкая настройка, обеспечивает
идеальное внедрение MbA модуля в дизайн любого сайта и каждой страницы в
отдельности.
Вся универсальность MbA модуля открывается при
размещении всех рекламных компонентов (кнопок, текстов) на одном сайте, а
использовании модулей на различных сайтах. В этом случае, при добавлении или
любом изменении в рекламном наборе, автоматически произойдет изменение на всех
Ваших сайтах. Таким образом, Вы можете организовать собственную систему обмена
кнопок по единой тематике сайта и пригласить для участия в ней всех у кого
тематика сайтов совпадает с Вашей.
Посетители Вашего сайта по достоинству оценят
предложенный сервис и смогут самостоятельно выбирать по какой кнопке продолжить
серфинг в интернет, а значит еще не раз зайдут на Ваш сайт.
"Самый простой способ увеличить посещаемость Web-ресурса - создать
для его посетителей максимальные удобства и сервис".
Более подробную информацию о MbA модулях Вы можете
найти на странице "MbA".
Создавая проект с ActionScript, часто требуется
получить случайное числовое значение. Это позволяет внести элемент неожиданности
в развитие происходящего на экране действия, без этого практически невозможно
создать интересную игру. Однако, реализуется данное решение, элементарно просто.
Достаточно, включить в скрипт функцию "Random"
Случайное числовое значение:
Random (number)
Определяет (если следовать терминологии программистов
- возвращает) число от 0 до указанного числа - number, например:
Set Variable: "rnd" = Random (20)
Присвоит переменной "rnd" случайное число от 0 до 19.
Если нам необходимо, сгенерировать число в диапазоне от 300 до 400 то это
указывается следующим образом:
Set Variable: "rnd" = Random (101) + 300
Применив данную функцию, Вы сможете без проблем
создать игру "Угадайка".
Все, что для этого необходимо: два редактируемых
текстовых поля, пара кнопок и максимум 4 кадра:
В первом кадре компьютер "загадает" число, во
втором будет ожидать ввода варианта, в третьем проверит Вашу интуицию (если не
угадаете, вернется во второй кадр), а в четвертом поздравит с победой.
Уверен, что с этой работой Вы справитесь за 10-15
минут, ну а если возникнут сложности, посмотрите на мой вариант в разделе
"Скачать". Самый лучший способ научится программированию - разобрать код
скрипта с комментариями, поэтому предложенный для скачивания проект содержит
комментарии практически к каждой команде и кнопке.
Теперь, когда получение случайных значений для Вас
не секрет, пора научиться еще одной замечательной возможности Flash
- дублированию.
Дублирование - создание копии имеющегося на сцене
символа клипа. Как мы берем символы из библиотеки и устанавливаем их в
необходимое на место на сцене, так и дублирование копирует те символы, которые
есть на сцене или удаляет уже скопированные символы.
Действие Duplicate/Remove Movie Clip - создание или
удаление копий экземпляров символов.
Давайте посмотрим, как использовать данное действие.
Разместите на сцене символ, задав ему режим
Movie Clip и присвоив имя "copy", так как было описано в предыдущих выпусках.
Нам еще понадобится кнопка, которую мы заставим работать ксероксом, копируя
символы.
Выберите из списка действий
Duplicate/Remove Movie Clip. В правой части появятся режимы выбора
действия Action:
Duplicate Movie Clip - создать копию
Remove Movie Clip - удалить копию
В поле Target указывается путь к копируемому образцу, для этого нажмите
кнопку, справа от поля и выберите значение Target Editor, в открывшемся окне
появится список доступных символов (объектов), часто при работе со сложными
проектами необходимый символ отсутствует в списке, такое может происходить
по разным причинам (действие устанавливается в кадре, до появления символа
на экране, символ может быть вложенным в другой символ или его имя генерируется
автоматически), в этом случае вы указываете путь к имени символа вручную
(например /NameClip).
В поле New Name - указывается имя создаваемой копии, при этом могут
задаваться, как произвольные имена, в случае с индивидуальным копирование,
так и генерируемые скриптом, в случае многократного копирования.
В поле Depth - указываем номер уровня, на котором будет находиться наша копия.
Рассмотрим следующий скрипт:
On (Release)
Duplicate Movie Clip ("/copy", "second", 1)
End On
Тем самым мы создадим копию символа "copy" с именем
"second" на первом уровне. Но новый символ будет расположен в том же место, что
и старый, и мы можем просто не увидеть, что копирование произошло.
Давайте укажем, где должен находится скопированный символ:
On (Release)
Duplicate Movie Clip ("/copy", "second", 1)
Set Property ("/second", X Position) = 200
Set Property ("/second", Y Position) = 50
End On
Конечно, Вы узнали изученное в прошлом выпуске
действие Set Property.
Попробуйте усовершенствовать действия для кнопки,
пусть при каждом нажатие создается новый символ, с разными координатами и
степенью прозрачности. Небольшая подсказка: перед дублированием создайте имя,
образованное путем объединения текстового значения и счетчика копий. Учебную
версию можно взять на сайте в разделе "Скачать".
Домашнее задание:
На этот раз, снова сочинение на вольную тему. Жду
Ваших работ с применением полученных знаний.
Итоги задания 17-го выпуска:
Прислана всего одна работа, ее автор Александр Соколов.
Вот уж не мог подумать, что у Вас нет фантазии.
Скажу, честно - "Вы меня расстроили!". В выпуске были намеки на возможное
использование текстовых полей. И никто не догадался реализовать, хотя бы
элементарный проект. Достаточно было взять любую газету или журнал с любым
психологическим тестом и перенести его во Flash, можно было сделать обучающую
игру для малышей с прохождением от кадра к кадру (с новой картинкой)
только в случае правильного введенного ответа на загадку или математический
пример и т.д.
Павел Г.Лапин
E-mail: murmik@mail.ru
Россия Мурманск
|