是否可以在 Flex 中使 as:rect 可点击?

发布于 2024-10-03 18:36:11 字数 80 浏览 1 评论 0原文

使用 flex ,是否可以制作一个使用 s:rect 绘制的可点击的正方形?

我正在尝试绘制一系列彩色框并允许单击它们来执行操作。

using flex, is it possible to make a square, drawn using s:rect , clickable?

I am trying to draw a series of coloured boxes and allow them to be clicked on to perform an action.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

我ぃ本無心為│何有愛 2024-10-10 18:36:12

我无法直接定位它,所以我将它包装在 BorderContainer 中,这样就成功了。或者,如果您想要的只是一个可以着色和定位的框,则可以只使用 BorderContainer。

<?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" creationComplete="init()">

    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;

            public function init():void{

                myBox.addEventListener(MouseEvent.MOUSE_OVER, changeColor);

            }

            public function changeColor(e:MouseEvent):void
            {
                myFill.color = 0xFFFF00;
            }


        ]]>
    </fx:Script>

    <s:states>

    </s:states>

    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
        <s:SolidColor id="myFill" color="0xFF0000" />
        <s:SolidColorStroke id="myStroke" color="0x000000" weight="2" />
    </fx:Declarations>

    <s:BorderContainer id="myBox" >     
        <s:Rect width="200" height="200" fill="{myFill}" stroke="{myStroke}" id="box1" />
    </s:BorderContainer>



</s:Application>

I wasn't able to target it directly so I wrapped it in a BorderContainer and that did the trick. Or you could just use a BorderContainer if all you want is a box you can color and target.

<?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" creationComplete="init()">

    <fx:Script>
        <![CDATA[
            import mx.controls.Alert;

            public function init():void{

                myBox.addEventListener(MouseEvent.MOUSE_OVER, changeColor);

            }

            public function changeColor(e:MouseEvent):void
            {
                myFill.color = 0xFFFF00;
            }


        ]]>
    </fx:Script>

    <s:states>

    </s:states>

    <fx:Declarations>
        <!-- Place non-visual elements (e.g., services, value objects) here -->
        <s:SolidColor id="myFill" color="0xFF0000" />
        <s:SolidColorStroke id="myStroke" color="0x000000" weight="2" />
    </fx:Declarations>

    <s:BorderContainer id="myBox" >     
        <s:Rect width="200" height="200" fill="{myFill}" stroke="{myStroke}" id="box1" />
    </s:BorderContainer>



</s:Application>
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文