Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Проблема Blur и больших MovieClip'ов (http://www.flasher.ru/forum/showthread.php?t=112993)

koIIImarik 15.06.2008 22:17

Проблема Blur и больших MovieClip'ов
 
Вложений: 1
Появилась проблема, не знаю, как её решить.

Есть контейнер (читай MovieClip), в который подгружается большое количество контейнеров для картинок, в которые потом загружаются картинки. Но не в этом суть, а суть в том, что если картинок подгружается больше определённого числа то фильтр Blur не хочет применяться к главному контейнеру.

Выяснил, что всё зависит от размеров MovieClip'ов. Допустим в приложенном примере (см. архив .rar) Blur не хочет применяться для клипа шириной от 2870 и больше, а для точно такого же клипа с шириной 2869 работает нормально.

Проверил, всё зависит от бОльшей стороны клипа, а не от площади, если обе стороны будут по 2869, то всё будет работать нормлаьно, а если одна будет больше, то перестаёт работать.

В общем и не знаю что делать, если кто-то сталкивался с этим, просьба, подскажите, что делать.

Или, возможно, кто-то знает ответ, как можно добиться эффекта "не в фокусе" без применения BlurFilter, и чтобы этот эффект можно было программно изменять. Чтобы было понятнее прикладываю картинку с примером того, что мне нужно.

http://www.flashist.ru/images/blur_problem.jpg

P.S.: поиском пользовался, ничего не нашёл, может кто-то подскажет, где искать.

etc 15.06.2008 22:21

Если быть точным, то цифра равна 2880 пикселей, это ограничение Flash Player на размер одного битмапа, коим и является клип, на который наложен фильтр.

koIIImarik 15.06.2008 22:58

Ну, на самом деле нет. В приложенном примере цифра составляет именно 2870, а ещё в одном примере, с которого всё собственно и началось, клипы с размерами от 2868 так же не работали нормально с фильтрами.

А вообще, конечно фигово, я так понимаю эту особенность никак нельзя обойти, кроме как либо:

а) Создавать и удалять в нужном месте картинки, таким образом "имитируя" движение галлереи. Чтобы те картинки, которые выходили за область видимости удалялись и не прибавляли к длинне родительского клипа.
б) Накладывать фильтры на сами клипы картинок, так же можно накладывать только на те, которые в поле зрения, а с тех, которые уходят за эти рамки снимать применение фильтра, чтобы зоть как-то уменьшить нагрузку на проц.

Но при варианте б), как я понимаю, тормоза будут жуткие, на столько объектов прийдётся фильтры накладывать, это же хуже, чем на один родительский, да?

iNils 15.06.2008 23:30

Цитата:

Сообщение от koIIImarik (Сообщение 745762)
В приложенном примере цифра составляет именно 2870, а ещё в одном примере, с которого всё собственно и началось, клипы с размерами от 2868 так же не работали нормально с фильтрами.

Зависит от величины blurX и blurY. Блюр выходит за пределы размеров объекта, поэтому результирующая область используемая фильтром больше размеров клипа. Если скажем блюр выходит на 5 пикселей, то размер клипа не должен быть больше 2870 (5 + 2870 + 5 = 2880)

koIIImarik 15.06.2008 23:45

Круто, спасибо. Наверное не догадался бы сам.


Часовой пояс GMT +4, время: 17:03.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.