• Авторизация


Программное вращение 3-d во флеш. Action Script 3. 04-12-2014 13:01 к комментариям - к полной версии - понравилось!


Программное вращение 3-d во флеш. Урок для Flash CS 6. Action Script 3.

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




Вращать можно нарисованные в программе фигуры, картинки png, текст. Но прежде всё это необходимо модифицировать во Фрагменты ролика.

Итак, открываем программу и создаём новый Action Script 3.0 любых необходимых вам размеров с частотой кадров 24 - 30 кадров/секунду.
Чем выше частота кадров, тем быстрее будет крутится картинка, фигура или текст.

[700x449]





Сохраняем наш проект в формате FLA в какую нибудь папку под названием "Вращение 3d".

Файл - Сохранить как

В дальнейшем не забываем периодически сохранять изменения внесённые в проект в ходе работы над ним.

Файл - Сохранить

Импортируем в Библиотеку картинки, которые будут использованы в работе.

Я взяла вот такие.

[x175] [145x]
[700x107]

На Временной шкале нашего Рабочего поля сейчас один слой. Переименуем его в "фон" и на нём, если это необходимо, разместим фоновую картинку.

Выше слоя фон размещаем слои для картинок, текста и фигур, которые будут вращаться. То есть для каждого элемента создаём отдельный слой.

Кроме двух картинок я ещё написала текст - "2015" и нарисовала фигуру "Звёздочка".

На слой "фон" добавила картинку гирлянды в png.

На этом этапе проект выглядит следующим образом

[700x459]

Выделяю слой "картинка 1" и на него инструментом "Стрелка" перетаскиваю на Рабочее поле из Библиотеки изображение картинка 1. Устанавливаю его в нужном месте и с помощью инструмента "Свободное преобразование" задаю ему нужные размеры.

[700x522]

Затем, не снимая выделения с "картинка 1", нажимаем в меню на вкладку "Модификация" и выбираем пункт "Преобразовать в символ". Далее преобразовываем изображение "картинка 1" в символ Фрагмент ролика. Даём название ролику

mc_картинка 1

[700x562]

В панели "Свойства" для созданного Фрагмента ролика в графе "Назначить имя экземпляру" прописываем

rotations1

[700x543]

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

[700x631]

Так следующему созданному Фрагменту ролика "mc_картинка 2" в панели "Свойства" в графе "Назначить имя экземпляру" прописываем

rotations2

Обратите внимание, что между словом rotations и цифрой 2 нет пробела. Это важно.

[700x608]

Далее создаем Фрагмент ролика из фигуры "Звёздочка"

[700x629]

Для Фрагмента ролика "mc_звёздочка" в панели "Свойства", в графе "Назначить имя экземпляру" прописываем

rotations3

[700x577]

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

[700x554]

Щелкаем инструментом "Стрелка" по созданному тексту, выделив его.
Модифицируем созданный текст во Фрагмент ролика.

[700x551]

Для Фрагмента ролика "mc_текст" в панели "Свойства" в графе "Назначить имя экземпляру" прописываем

rotations4

[700x600]

Далее, выше всех слоёв создаем новый слой. Называем его "скрипт".

[700x584]

Открываем вкладку "Действия" этого слоя и в блокнот вкладки вставляем следующий скрипт
code:

import flash.events.Event;

var angle:Number = 0;

var speed:Number = 4;

stage.addEventListener(Event.ENTER_FRAME, start3DRotate)
function start3DRotate(e:Event):void
{
angle<360? angle+=speed : angle = 0;
rotations1.rotationY = angle;
rotations2.rotationY = angle;
rotations3.rotationY = angle;
rotations4.rotationY = angle;
}



[700x669]

Если вы берёте для вращения картинок меньше чем 4 картинки, то необходимо удалить лишние строчки из скрипта.

Так, например, если вы используете в своей работе только одну картинку для вращения, то строчки
12, 13, 14
rotations2.rotationY = angle;
rotations3.rotationY = angle;
rotations4.rotationY = angle;

из скрипта необходимо удалить.

[700x345]

[700x344]

Если используете в своей работе два элемента для вращения, то необходимо удалить из скрипта строчки
13 14
rotations3.rotationY = angle;
rotations4.rotationY = angle;

[700x338]

[700x351]

И так далее, по аналогии.

Если вы используете в своей работе для вращения более 4 элементов, то необходимо будет вставить в скрипт дополнительные строчки.

Так например, если у вас будет 6 элементов, то соответственно после того как вы модифицируете каждый из этих элементов во Фрагменты ролика и в панели "Свойства" присвоите им имена соответственно

rotations5

rotations6

то в скрипт после строчки 14 необходимо вставить строчки для новых элементов

rotations5.rotationY = angle;
rotations6.rotationY = angle;

[700x393]

Тестируем флешку и если всё сделали правильно, то увидите, что все элементы, которым вы задали скриптом 3d вращение вращаются.




На этом основная работа закончена и остаётся только добавить некоторые дополнительные детали к нашим вращающимся элементам.

Так , я прикреплю к "изготовленным" ёлочным игрушкам ниточки на которые они будут подвешены к гирлянде и колечки к которым эти ниточки будут крепится.

Ниточку и колечко можно нарисовать в программе, а можно взять готовый клипарт

Безымянный-74 (92x92, 2Kb) [x300] [6x439] [6x439]

Импортируем нужный клипарт в Библиотеку программы

Далее заходим в режим редактирования символа "mc_картинка 1", дважды щелкнув по
этому символу в Библиотеке.
Ниже слоя "Слой 1", который имеется в символе на момент открытия, создаём ещё два слоя. Называем их "ниточка" и "колечко".

[456x390]

На слой "колечко" я из Библиотеки инструментом "Стрелка" на Рабочее поле перетащила колечко. Инструментом "Свободное преобразование" уменьшила размер этого колечка и установила в подходящее место. На слой "ниточка" перетащила из Библиотеки красную ленточку и также уменьшив её размеры "прикрепила" к колечку.
Элементы эти мелкие и, чтобы с ними легче было работать, можно увеличить масштаб на Рабочем поле в окошечке масштабирования.

[700x539]

Точно также поступаю с символом "mc_звёздочка". Захожу в режим редактирования этого символа, создаю вниз под "Слой 1" новые слои - "ниточка" и "колечко". Только в этом случае слой "ниточка" опускаю ниже слоя "колечко" и вместо красной ленточки использую желтую ниточку, которую предварительно импортирую в Библиотеку.
Перетащив клипарт на Рабочее поле редактирования символа "mc_звёздочка" на соответствующие слои, уменьшаю размеры и приспосабливаю клипарт в нужное место.

[700x545]

С остальными символами поступаем аналогично
[700x559]

Ещё я перенесла слой "фон", на котором у меня разместился клипарт гирлянды, выше всех слоёв с элементами вращения. Если же у вас на этом слое размещена фоновая картинка в формате jpg, то этого делать, естественно не надо.

[696x613]

Тестируем то, что получилось




Если всё устраивает, то сохраняем флеш ролик.

Файл - Экспорт - Экспортировать ролик




вверх^ к полной версии понравилось! в evernote
Комментарии (48): вперёд»
alina1980 04-12-2014-13:24 удалить
Классно!!! Мариночка спасибо за урок!
ВАТ 04-12-2014-13:27 удалить
Спасибо Мариночка! Цитирую с благодарностью. Буду пробовать! Качание я сделала, теперь вращением займусь.
LiSu 04-12-2014-13:35 удалить
Маринка, интереснейший подробный ( как всегда) урок, спасибо большое!
MissKcu 04-12-2014-13:39 удалить
здорово...и расписала доступно...надо срочно пробовать....
Semenova_Irina 04-12-2014-13:41 удалить
Спасибо ,Мариночка!!!Урок великолепны! Забираю!!!
Интересный урок! Спасибочки большое!!!
koreckolga 04-12-2014-13:57 удалить
Мариночка, сколько у тебя интересных и классных урок, так хочется всему научиться! Спасибо огромное тебе, что находишь время, делишься с нами своими знаниями и опытом!
wellax 04-12-2014-14:05 удалить
Цитирую с благодарностью!
Марина, спасибо за урок! Замечательный, доступный!
Lana-Lanochka 04-12-2014-14:59 удалить
Прикольный урок, цитирую с благодарностью!!любовь!
таила 04-12-2014-15:11 удалить
Спасибо Мариночка за красоту!
Franzuzhenka 04-12-2014-17:06 удалить
Kakaja klassnaja ideja! Spasibo Marinochka!
Как интересно!! Спасибо
Благодарю, Мариночка.
Очень увлекательно...
Благодарю за урок.
Уютного вечера!
Мариша,какая прелесть! Спасибо тебе за урок,завтра я дома и с утра попробую сделать!
Jorjorych 04-12-2014-21:10 удалить
Ответ на комментарий Kantemirova_Irina # Спасибо, Марина!
Мариночка большое спасибо за прекрасный урок!

Shamanka9 05-12-2014-02:08 удалить
Спасибо, очень классно!
Irina-snez 05-12-2014-12:34 удалить
Спасибо, Мариночка! Код - штука очень удобная. Но, если он потеряется, можно сделать такое вращение инструментально.
Фрагмент ролика - Анимация движения- (стоя на середине заполненной временной шкалы) Модификация-Трансформация-Отразить по горизонтали, потом перейти в конец временной шкалы и еще раз отразить "Отразить по горизонтали".
Код, конечно, удобнее, когда много разных картинок...
novprospekt 05-12-2014-12:47 удалить
Ответ на комментарий Irina-snez # Ириш, конечно можно и вручную сделать, а ещё можно и инструментом 3d поворот это же сделать. Код же в первую очередь хорош тем что меньше грузит процессор, чем покадровая анимации.
novprospekt 05-12-2014-12:47 удалить
Ответ на комментарий Любовь_Терехова # Любочка, так шикарно получилось. Замечательная открыточка.
novprospekt 05-12-2014-12:49 удалить
Ответ на комментарий Оленька_555 # Оленька, отличная получилась открыточка. Молодец быстро урок освоила.
novprospekt 05-12-2014-12:49 удалить
Ответ на комментарий Sobirayu_vinograd # Пожалуйста.
Ответ на комментарий novprospekt # Это Вам спасибо за такой красивый и понятный урок! А сама я в программке чайник!
Irina-snez 05-12-2014-12:54 удалить
Ответ на комментарий novprospekt # Да, Мариночка!
Я все никак не освою инструмент 3d. Код - это, конечно, здорово, особенно, когда помнишь, как его написать, а еще лучше, когда знаешь, как он записывается и в As3 и As2.
У меня, вот, твой вечный информер есть в As2, и нет в As3. А движение за курсором, в основном, в As3, очень жалко, что не совместить...


Комментарии (48): вперёд» вверх^

Вы сейчас не можете прокомментировать это сообщение.

Дневник Программное вращение 3-d во флеш. Action Script 3. | novprospekt - Дневник novprospekt | Лента друзей novprospekt / Полная версия Добавить в друзья Страницы: раньше»