![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
Всем добрый день.
Необходимо программно создать прямоугольную маску. Затем в ней сделать прямоугольные "окошки". В итоге маска должна быть похожа на сыр . Так вот как вырезать эти области? И что лучше использовать, Shape или Bitmap? |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
BlendMode.ERASE
|
|
|||||
|
дырку можно получить если нарисовать заливку по заливке
var shape:Shape = new Shape(); shape.graphics.beginFill(0); shape.graphics.drawRect(0, 0, 100, 100); shape.graphics.drawCircle(50, 50, 40); blendMode.ERASE ее тоже вроде бы не учитывает, хотя не уверен т.е. скорее всего все равно придется возится с битмапами, чтоб заставить ее работать |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
silin, в случае с ERASE как раз маска как таковая и не используется.
|
|
|||||
|
ну да, не используется..
тока есть некоторая странность для дырявых шейпов, причем не на всех режимах blendMode вот, например, INVERT работает как ожидалось, а ERASE нет.., может я не того ожидаю var face:Shape = new Shape(); face.graphics.beginFill(0xFF0000); face.graphics.drawRect(0, 0, 100, 100); addChild(face); var shape:Shape = new Shape(); shape.graphics.beginFill(0); shape.graphics.drawRect(0, 0, 100, 100); shape.graphics.drawCircle(50, 50, 40); addChild(shape); shape.blendMode = BlendMode.INVERT;//работает по шейпу с дыркой //shape.blendMode = BlendMode.ERASE;//работает по всему прямоугольнику |
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
silin, хелпа говорит, что надо ещё режим LAYER у контейнера включить. Т. е. не всё так просто.
|
|
|||||
|
Et cetera
Регистрация: Sep 2002
Сообщений: 30,787
|
Ну так я же говорю, маски не при делах.
|
|
|||||
|
Регистрация: Jul 2008
Адрес: Украина, Киев
Сообщений: 253
|
спасибо за дискуссию, ответ получился очень развернутый, в примерах
![]() |
![]() |
![]() |
Часовой пояс GMT +4, время: 01:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|