![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
[+1 24.03.12]
Регистрация: Jul 2010
Сообщений: 19
|
Вот тут прога.
Создается некая фигура с дырочкой - ее можно увидеть если снять галку. Потом эта фигура применяется как маска ко всей картинке. Но в маске дырка - значит под ней ничего не должно быть видно (так же как в тех местах, где маски нет совсем). Но, как видите, все не так. Не понимаю, в чем тут дело. |
|
|||||
|
код в судию.
|
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
mask.cacheAsBitmap = true;
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Sep 2010
Адрес: Ростов-на-Дону
Сообщений: 369
|
maskType какой?
|
|
|||||
|
[+1 24.03.12]
Регистрация: Jul 2010
Сообщений: 19
|
у меня будет в этой проге сложная-пресложная маска с множеством отверстий - я сделал пока только тест и удивился.
Мой код (который виден на работающей софтинке) вот такой var Mask1:Shape = new Shape(); Mask1.graphics.lineStyle(); Mask1.graphics.beginFill(0xFF0000,1); Mask1.graphics.drawRect(250,100,400,400); Mask1.graphics.drawCircle(500,350,100); Mask1.graphics.endFill(); GRAF.addChild(Mask1); if (Checkbox2.selected){ GRAF.mask=Mask1; } cacheAsBitmap не помогло, тип маски (как я понимаю) - clip (то есть не альфа, а полная заливка) |
|
|||||
|
cachAsBitmap должно бы было помочь. Но там есть куча хитрых условий.
Ваш вариант не работает по этой причине http://konansthoughts.blogspot.com/2011/07/20.html Я бы BlandMode использовал и не парился. |
|
|||||
|
[+1 24.03.12]
Регистрация: Jul 2010
Сообщений: 19
|
понял, спс - маска с дыркой это ФИЧА
проблема в том, что в итоговом варианте моей проги дырок будут тысячи и они весьма прихотливой формы в моем случае - разрезание ставит под сомнения саму возможность удачного завершения этой проги - координаты разрезания будут рассчитываться вечно поэтому пока думаю, экспериментирую, ищу решение |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Чего тут искать? Флэш не вчера родился, и Вы не первый кому понадобилась маска.
Либо кеширование (и маски и таргета) в битмап, либо BlendMode. Для второго надо маску и таргет поместить в общий контейнер, установить ему BlendMode.LAYER, а маске – BlendMode.ALPHA (или наоборот ERASE). Снижение производительности будет как при кешировании так и с блендами. Бленды более заморочные, имхо.
__________________
Reality.getBounds(this); |
![]() |
![]() |
Часовой пояс GMT +4, время: 02:33. |
|
|
« Предыдущая тема | Следующая тема » |
|
|