Долго думал как называть этот эффект (результат вы можете увидеть внизу этой страницы) и назвал его всё-таки "Эффект - квадраты" - просто и понятно. В чём его суть? Мы разработаем скрипт, который позволит размещать одинаковые квадраты на любой картинке с разной степенью прозрачности.
Итак по пунктам, как мы это будем делать:
1. Открываем Flash (любая версия от 6-й).
2. Создаём новый документ, размеры можно любые, но желательно подогнать под картинку, которую мы сейчас будем импортировать, и fps тоже желательно сделать 25.
3. Выберите какую-нибудь фотографию (по типу той, которую я выбрал) и вставьте её в flash-документ с помощью команды File (Файл) - Import (Импорт).
4. Разместите картинку в документе, подгоните размеры ролика под неё и преобразуйте её в ролик с помощью клавиши F8 (выделите картинку и нажмите F8). Теперь выделите мувиклип и в instance name (имя экземпляра) задайте имя img.
5. Теперь рисуем собственно квадратик. Небольшой. Где-то 20 на 20, лучше с границей серой, ну это уже на своё усмотрение, можно и на круг сменить, эффект всё равно будет одинаковым. Нарисовали? Теперь выделяем его (с линией) и преобразуем в мувиклип. Затем удаляем этот мувиклип со сцены. И идём в библиотеку. В библиотеке ищем этот символ, правая кнопка - Linkage (Связь) и пишем его имя w, предварительно расставив галочки как на скриншоте.
6. Продолжаем и теперь будем заниматься самым важным - кодом.
Создайте новый слой в главной сцене, поверх того, что с картинкой. Выделите кадр и откройте панель Actions (Действия), туда мы будем писать код.
Кратко объясню, что это мы делаем с помощью этого кода.
Первыми двумя строчками мы задаём переменные, которые вычисляют ширину и высоту картинки, это нужно нам для того, чтобы потом определить сколько квадратиков размещать в ширину и в высоту. Далее переменная size - собственно сам размер квадратика. Так как это квадрат, то ширина и высота у него одинаковая, поэтому и одна переменная.
wmnumber - рассчитываем количество квадратиков вообще на картинке, для этого считаем сколько их в ширину поместится и в длину и умножаем, конечно же округляем до большего числа, Лучше пусть будет за пределами картинки квадрат, чем было видно, что квадратиков не хватило.
Делаем цикл, и в цикле присоединяем из библиотеки мувиклип с помощью команды attachMovie(), после присоединения задаём им координаты по оси X и по оси Y, для этого применяем специальную формулу, которая позволит определить ряд и столбец для каждого квадратика без всяких условных операторов.
Устанавливаем прозрачность для квадратиков, она у нас случайная, но не может быть больше 30%.
Следующие 2 функции обрабатывают события при наведении и уводы курсора мыши. У меня при наведении прозрачность уменьшается, становится лучше видно квадратик, и увеличивается его размер. Следовательно, при уводе курсора всё возвращается на своё место. Ну и не забываем закрыть цикл.
7. В принципе всё. Жмём Ctrl+Enter и вы должны увидеть что-то вроде того, что ниже.
Выпуск подготовили: Exact, Nikitar, Psi, Alisha |
Copyright RusForumz.com 2006 Перепечатка материалов возможна только с письменного разрешения администрации