PDA

Просмотр полной версии : Очистка объекта в месте пересечения с другим объектом.


kitaez447
29.07.2009, 11:44
Задача следующая:
Есть картинка, она закрыта непрозрачным прямоугольником. Например, пролетает самолёт и вслед за движением самолёта появляются через определённый промежуток круги, которые с течением времени расширяются удаляя в зоне своего расширения непрозрачный прямоугольник, открывая тем самым картинку, которая находиться за ним.
Саму анимацию и расширение кругов я знаю как сделать. Но вот удаление прямоугольника в областях пересечения с кругами - судя по всему уже АктионСкрипт....
И ещё просьба, если кто сможет помочь, то просьба указать какая версия АктионСкрипт используется. А то у меня Flash 8. А там 3-й версии вроде нет.

mooncar
29.07.2009, 11:53
Сделайте мувик, вставьте туда анимацию кругов, и постаьте этот мувик маской для вашей картинки.
Это можно сделать, разместив его в маскируюшем слое (тогда вообще AS не нужен), или воспользовавшись AS:
picture_mc.setMask(mask_mc)
где picture_mc - мувик с картинкой, а mask_mc - мувик с анимированными кругами.

kitaez447
29.07.2009, 13:03
Отличное решение! Спасибо. Оказывается всё проще простого... А я тут велосипед с квадратными колёсами изобретал. ))))

mooncar
29.07.2009, 13:40
Рад, что получилось. Ключевое слово "открывая", тут сразу о маске подумалось.

kitaez447
29.07.2009, 21:02
Только я планировал сделать так, чтобы картинка была снизу, а картинка сверху(монотонная) удалялась в том месте, где есть круг. А получилось полностью наоборот - фон(монотонная картинка) снизу, а вот то, что должно открыться - уже отображается в результате увеличения диаметра кругов.
Кстати, сразу уж задам вопрос, чтобы хоть как-то упростить ролик и сделать так, чтобы эта тема хоть как-то соответствовала ветке форума. До этого я создавал круг и его увеличение с помощью ключевых кадров и движения... При этом каждый круг приходилось создавать отдельно в отдельном слое, что иногда не очень удобно, к тому же увеличивает вес ролика. А можно сделать то же самое с помощью АС(актионскрипт). Например, нарисовать круг, конвертировать его в объект МувиКлип(назовём его "Krug"), создать функцию, которая заставит расширяться его с течением времени, а затем просто передавать в эту функцию в нужных ключевых кадрах параметры для этого объекта, такие как координаты и скорость расширения. Понимаю, что объясняю возможно непонятно, но старался как мог...