Несколько масок поверх экранного объекта - PullRequest
0 голосов
/ 16 декабря 2011

Я пытаюсь добавить несколько масок поверх экранного объекта во Flex.

Я прихожу к выводу, что это может быть невозможно!

Пример того, что у меня пока есть:

enter image description here

Код ниже может быть запущен как:

<?xml version="1.0" encoding="utf-8"?>
<s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" 
               xmlns:s="library://ns.adobe.com/flex/spark" 
               xmlns:mx="library://ns.adobe.com/flex/mx" minWidth="955" minHeight="600" 
               backgroundColor="#ffffff" width="100%" height="100%">

    <s:layout>
        <s:VerticalLayout>

        </s:VerticalLayout>
    </s:layout>

    <!--http://sherifabdou.com/2008/09/applying-a-mask-in-flex-4-by-using-the-masktype-property/-->
    <s:Group id="mainGroup" maskType="clip" width="100%" height="100%">
        <s:mask>            
            <s:Group id="maskGroup" width="200" height="40"                      
                     x="100" 
                     y="100" >

                <s:Rect width="100%" height="100%" radiusY="20" radiusX="20"  >
                    <s:fill>
                        <s:SolidColor color="0xFFFFFF"/>
                    </s:fill>
                </s:Rect>

            </s:Group>
        </s:mask>

        <s:Rect x="5" y="1" width="600" height="600" radiusX="25" radiusY="25">
            <!--http://www.java2s.com/Code/Flex/Graphics/RadialGradientdemo.htm-->
            <s:fill>
                <s:RadialGradient>
                    <s:GradientEntry color="0x0056FF" ratio="0" alpha=".5" />
                    <s:GradientEntry color="0x00CC99" ratio=".33" alpha=".5" />
                    <s:GradientEntry color="0xECEC21" ratio=".66" alpha=".5" />
                </s:RadialGradient>
            </s:fill>
        </s:Rect>
        <!--<s:Image width="100%" height="100%" source="@Embed('assets/1.jpg')"/>-->
    </s:Group>


</s:Application>
...