Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Наложение маски (http://www.flasher.ru/forum/showthread.php?t=172879)

TanaTiX 19.12.2011 12:57

Наложение маски
 
Создаю объект mc, рисую маску (с дыркой в центре), присваиваю одно другому. Результата нет.
Точнее сама маска (как DisplayObject) со сцены исчезает (как бы назначена), но она ничего не маскирует.
Код AS3:

var sh:Shape=new Shape();
addChild(sh);
var _maskShape:Graphics=sh.graphics;
_maskShape.clear();
_maskShape.beginFill(0xff0000);
_maskShape.drawRect(0, 0, 500, 500);
_maskShape.drawRect(100, 100, 100, 100);
_maskShape.endFill();
 
mc.mask=sh;

При этом если убрать одну из строк с drawRect - маска работает правильно.
Почему такое поведение? Как назначить "дырявую" маску? Заранее спасибо.

goodguy 19.12.2011 13:04

Код AS3:

sh.cacheAsBitmap = true;

Кстати в плеере 10.1 наоборот с этой фичей не работало

TanaTiX 19.12.2011 16:31

Проверял на 10м. Сработало только в случае cacheAsBitmap и на маске, и на маскируемом объекте. Потом проверил на 10.1 и на 10.3 - не поломалось.
Лови +

alatar 19.12.2011 17:40

Цитата:

Создаю объект mc, рисую маску (с дыркой в центре)
При присвоении маски с дыркой без cacheAsBitmap, маска будет упрощена (отверстие будет закрыто). Если нужна маска именно в векторном виде, то необходимо сделать прорезь в один пиксель, что бы получился замкнутый контур. Но лучше использовать cacheAsBitmap.


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

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