Apache flex 底部uicomponent不接收鼠标事件

Apache flex 底部uicomponent不接收鼠标事件,apache-flex,actionscript,Apache Flex,Actionscript,嗨 当我在ShapeContainer上添加一个简单的精灵(draw square)时,侦听器不再工作 在代码中,如果我在第行下方添加注释,事件侦听器工作正常 I am sure this is very basic, however I am not able to find the solution. I have a base ShapeContainer(UIComponent). I add a uicomponent which has mouse down li

当我在ShapeContainer上添加一个简单的精灵(draw square)时,侦听器不再工作

在代码中,如果我在第行下方添加注释,事件侦听器工作正常

     I am sure this is very basic, however I am not able to find the solution. 

   I have a base ShapeContainer(UIComponent). I add a uicomponent which has mouse down listener to ShapeContainer. the listener works great.
我尝试了一些东西,比如,mouseenabled=false在顶部精灵上。 还试图添加addChildAt,但没有人提供任何帮助

如何绘制形状并让事件侦听器工作

受保护函数应用程序1\u creationCompleteHandler(事件:FlexEvent):无效
{               
var shapeContainer:UIComponent=newuicomponent();
shapeContainer.x=100;
shapeContainer.y=100;
形状容器。宽度=200;
形状容器。高度=200;
rawChildren.addChild(shapeContainer);
var EventListenerShape:UIComponent=newuicomponent();
EventListenerShape.x=100;
EventListenerShape.y=100;
EventListenerShape.width=200;
EventListenerShape.height=200;
EventListenerShape.graphics.clear();
EventListenerShape.graphics.beginll(0xf1f1,0.1);
EventListenerShape.graphics.drawRoundRect(0,0200200,10,10);
EventListenerShape.alpha=0;
EventListenerShape.graphics.endFill();
EventListenerShape.addEventListener(MouseEvent.MOUSE_DOWN,mouseDownfunc);
addChild(EventListenerShape);
变量square:Sprite=新Sprite();
正方形。图形。线型(4,0x00FF00);
正方形。图形。drawRect(0,0,20,20);
square.mouseEnabled=false;
shapeContainer.addChildAt(正方形,1);
}
专用函数mouseDownfunc(e:MouseEvent){
跟踪(“鼠标向下**”);
}
  
]]>

尝试将方块的
鼠标启用
鼠标儿童
设置为false。

我的错,这是个小错误。我刚把x,y换成了正方形。我必须指定0或注释下面的两行

        protected function application1_creationCompleteHandler(event:FlexEvent):void
        {               

            var shapeContainer:UIComponent = new UIComponent();
            shapeContainer.x=100;
            shapeContainer.y=100;
            shapeContainer.width=200;
            shapeContainer.height=200;
            rawChildren.addChild(shapeContainer);


            var EventListenerShape:UIComponent = new UIComponent();

            EventListenerShape.x=100;
            EventListenerShape.y=100;
            EventListenerShape.width=200;
            EventListenerShape.height=200;

            EventListenerShape.graphics.clear();
            EventListenerShape.graphics.beginFill(0xf1f1f1, 0.1);
            EventListenerShape.graphics.drawRoundRect(0, 0, 200, 200, 10, 10);              
            EventListenerShape.alpha = 0;
            EventListenerShape.graphics.endFill();
            EventListenerShape.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownfunc);
            shapeContainer.addChild(EventListenerShape);


        var square:Sprite = new Sprite();
        square.graphics.lineStyle(4,0x00FF00);
        square.graphics.drawRect(0,0,20,20);
        square.mouseEnabled=false;
        shapeContainer.addChildAt(square,1);    



        }

        private function mouseDownfunc(e:MouseEvent){
            trace("mouse Down **");
        }

          
    ]]>
</mx:Script>

<mx:Canvas id="uic" width="100%" height="100%"   backgroundColor="0xFFFFFF">

</mx:Canvas>
多谢各位

        protected function application1_creationCompleteHandler(event:FlexEvent):void
        {               

            var shapeContainer:UIComponent = new UIComponent();
            shapeContainer.x=100;
            shapeContainer.y=100;
            shapeContainer.width=200;
            shapeContainer.height=200;
            rawChildren.addChild(shapeContainer);


            var EventListenerShape:UIComponent = new UIComponent();

            EventListenerShape.x=100;
            EventListenerShape.y=100;
            EventListenerShape.width=200;
            EventListenerShape.height=200;

            EventListenerShape.graphics.clear();
            EventListenerShape.graphics.beginFill(0xf1f1f1, 0.1);
            EventListenerShape.graphics.drawRoundRect(0, 0, 200, 200, 10, 10);              
            EventListenerShape.alpha = 0;
            EventListenerShape.graphics.endFill();
            EventListenerShape.addEventListener(MouseEvent.MOUSE_DOWN, mouseDownfunc);
            shapeContainer.addChild(EventListenerShape);


        var square:Sprite = new Sprite();
        square.graphics.lineStyle(4,0x00FF00);
        square.graphics.drawRect(0,0,20,20);
        square.mouseEnabled=false;
        shapeContainer.addChildAt(square,1);    



        }

        private function mouseDownfunc(e:MouseEvent){
            trace("mouse Down **");
        }

          
    ]]>
</mx:Script>

<mx:Canvas id="uic" width="100%" height="100%"   backgroundColor="0xFFFFFF">

</mx:Canvas>
EventListenerShape.x=100;
EventListenerShape.y=100;