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
Apache flex 在flex中像地图一样缩放图形_Apache Flex_Actionscript_Zooming_Mxml - Fatal编程技术网

Apache flex 在flex中像地图一样缩放图形

Apache flex 在flex中像地图一样缩放图形,apache-flex,actionscript,zooming,mxml,Apache Flex,Actionscript,Zooming,Mxml,我试图在flex中像地图一样缩放我的绘图,但我所做的一切都是通过HSlider进行缩放。你能解释一下如何像谷歌地图一样缩放我的画吗 以下是我的缩放代码: 我的缩放功能: private function doZoom(component:UIComponent,val:Number):void { if(component is Container) { var children:Array = Co

我试图在flex中像地图一样缩放我的绘图,但我所做的一切都是通过HSlider进行缩放。你能解释一下如何像谷歌地图一样缩放我的画吗

以下是我的缩放代码: 我的缩放功能:

private function doZoom(component:UIComponent,val:Number):void
        {
            if(component is Container)
            {
                var children:Array = Container(component).getChildren();
                for(var i:int = 0; i < children.length; i++)
                {
                    zoomChildren(children[i], val);
                }
            }

        }

        private function zoomChildren(component:UIComponent,val:Number):void
        {

            component.scaleX = val;
            component.scaleY = val;
            if(component is Container) 
            {
                var children:Array = Container(component).getChildren();
                for(var i:int = 0; i < children.length; i++)
                {
                    doZoom(children[i], val);
                }
            }
        }

        public function applyZoom():void
        {

            if(pnl == null)
            {
                return;
            }

            doZoom(pnl,zoomSlider.value);
        }
私有函数doZoom(组件:UIComponent,val:Number):void
{
if(组件是容器)
{
var children:Array=Container(component).getChildren();
for(变量i:int=0;i
以及我的组件:

<s:VGroup>
    <s:Button  label="Загрузить SVG" click="PathsService.getPaths()"/>  

    <mx:Panel  y="30" width="1300" height="600" id="pnl"  title="Отрисовка SVG" borderColor="#008040" fontFamily="Arial" fontWeight="bold" fontSize="13">

        <s:VGroup height="100%" width="100%" clipAndEnableScrolling="true">

            <s:SpriteVisualElement width="100%" height="100%" id="spr" />
        </s:VGroup>

    </mx:Panel>
    <s:HGroup height="100%" width="100%">
        <s:Label text="Zoom" x="250"/>

        <mx:HSlider id="zoomSlider" minimum=".1" value="1"
                    maximum="2" change="applyZoom()" width="180" x="300"/>
    </s:HGroup>
</s:VGroup>

如果您的意思是要使组件基于鼠标滚轮输入进行响应,则应为鼠标滚动事件注册事件侦听器

例如,在要缩放的组件上添加以下行
addEventListener(MouseEvent.MOUSE\u WHEEL,mouseweelHandler)

在mouseWheelHandler函数中,应获取event.delta值,该值应包含滚轮移动的量