Эффект размытия растрового изображения
Итак, эффект размытия растрового изображения в программе Macromedia Director может оказаться полезным для тех пользователей, которые заинтересованы в создании плавных переходов между картинками в презентациях, эффектами в играх и т.д.
Обычное решение, с созданием предварительного набора картинок на основе одной, с последующей плавной циклической заменой может оказаться не очень удобным, если Вы создаёте, к примеру, сетевую игру. Вес такого эффекта в этом случае сильно увеличит вес файла. Вероятно, Вы просто откажетесь от подобного решения.
В тоже время есть способ, позволяющий Вам добиться подобного эффекта без использования набора картинок.
При разработке подобного метода я стремился сделать его максимально нересурсоёмким, с тем, чтобы даже относительно большие изображения могли бы обрабатываться на не слишком резвых машинах. Отчасти, это условие ухудшило финальный результат, однако не настолько, чтобы считаь его неприемлемым. Тем более , что более-менее дотошная настройка его для Ваших частных случаев позволяет корректировать результат наилучшим для Вас способом.
В основе настоящего эффекта лежат всего две функции : image.setAlpha(i) и image.copyPixels. Первая устанавливает прозрачность для 32-битного изображения, вторая осуществляет его копирование в тот член труппы, который представлен на экране.
В одном из предлагаемых Вашему вниманию примеров это реализовано следующим образом :
property i
on exitFrame me
i = the mouseH / 4
member("1").image.setAlpha(i)
member("1").image.useAlpha = true
updateStage
end repeat
end
property a, b,c,d
global q, w
on exitFrame me
q = q + 5 * w
if q > 50 then w = - 1
if q <- 50 then w =1
a = 800 + q
b = 800 + q
c = 0 - q
d = 0 - q
member("4").image.copyPixels(member("1").image,rect(c, d, a, b), rect(0, 0, 800, 800))
updateStage
end if
end
Обратите вниманое, что мы не используем функцию repeat , считая, что можно обойтись более простым
q = q + 5 * w
if q > 50 then w = - 1
if q <- 50 then w =1
Это отчасти сказывается на финальном результате, однако, по моим наблюдением уменьшаем нагрузку на машину, позволяя обрабатывать более крупные изображения.
Такова природа этого несложного , но достаточно полезного эффекта.
Несколько примеров использования оного мы предлагаем Вашему вниманию
1. Привязка эффекта к движению мыши - корректнее будет приязать эффект к спрайту не выходящему за пределы картинки для её гарантированно корректного изменения, чего я , однако, не стал делать, чтобы показать Вам , какие побочные эффекты тоже можно использовать, если проработать должным образом.
2. Простой эффект размытия с пульсацией, таким образом, что эффект привязан к горизонтальным координатам курсора.
3.Диагональное размытие. Обратите внимание , что интенсивность размытия- обновления установлена в зависимость от координат клика по изображению.
4.Размытие в перспективу. Обратите внимание , что происходит захват всего экранного изображения вместе с кнопками. И хотя от этого можно избавиться, я оставил именно такое решение, дабы Вы смогли учесть подобный ньюанс.
Источник: directorart.ru |
Использование материалов возможно только при ссылке на Graphics.ru Статьи, переводы и изображения принадлежат их авторам. c Graphics.ru 2001. Создание и поддержка ArtLogic. |