Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/apache-flex/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flash Flex:为什么';SpriteVisualElement是否遵循布局?_Flash_Apache Flex - Fatal编程技术网

Flash Flex:为什么';SpriteVisualElement是否遵循布局?

Flash Flex:为什么';SpriteVisualElement是否遵循布局?,flash,apache-flex,Flash,Apache Flex,在下面的代码中,我在垂直布局中的滑块之前添加了一个SpriteVisualElement。每当我编译和运行时,滑块总是将自身定位在sprite元素的前面,而不是它的下面。这是一个flash bug还是我做错了什么?这个问题有什么解决办法吗 <s:layout> <s:VerticalLayout/> </s:layout> <s:SpriteVisualElement id="container" includeInLayout="true"/&

在下面的代码中,我在垂直布局中的滑块之前添加了一个SpriteVisualElement。每当我编译和运行时,滑块总是将自身定位在sprite元素的前面,而不是它的下面。这是一个flash bug还是我做错了什么?这个问题有什么解决办法吗

<s:layout>
    <s:VerticalLayout/>
</s:layout>
<s:SpriteVisualElement id="container" includeInLayout="true"/>
<s:HSlider/>

<fx:Script>
    <![CDATA[
        import mx.events.FlexEvent;
        protected function creationComplete_handler(event:FlexEvent):void
        {
            var canvas:Shape = new Shape();
            canvas.graphics.lineStyle(1,0);
            canvas.graphics.beginFill(0);
            canvas.graphics.drawRect(0,0,480,360);
            canvas.graphics.endFill();
            container.addChild(canvas);
        }
    ]]>
</fx:Script>


这是因为您的
SpriteVisualElement
没有大小。其
宽度
高度
0
。你仍然可以看到黑色方块,因为它溢出了,但是它没有被测量,因为它是一个纯动作脚本图形

因此,要解决您的问题,只需给
容器
一个大小:

<s:SpriteVisualElement id="container" width="480" height="360" />
<s:HSlider/>
<s:Rect width="480" height="360">
    <s:fill>
        <s:SolidColor color="0xff0000" />
    </s:fill>
    <s:stroke>
        <s:SolidColorStroke color="0x00ff00" weight="1" />
    </s:stroke>
</s:Rect>
<s:HSlider/>