Apache flex 如何查找在组中单击的图形原语
我有一个小组,其中有许多不同的图形原语。如果单击该组,我可以在MouseEvent(event).currentTarget中获得对该组的引用。但我如何知道我是否点击了图形原语 示例代码:Apache flex 如何查找在组中单击的图形原语,apache-flex,flex4,flex-spark,Apache Flex,Flex4,Flex Spark,我有一个小组,其中有许多不同的图形原语。如果单击该组,我可以在MouseEvent(event).currentTarget中获得对该组的引用。但我如何知道我是否点击了图形原语 示例代码: <?xml version="1.0" encoding="utf-8"?> <s:Application xmlns:fx="http://ns.adobe.com/mxml/2009" xmlns:s="library://ns.adobe.com/fle
<?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">
<fx:Script>
<![CDATA[
protected function group1_mouseDownHandler(event:MouseEvent):void {
trace("event target="+ event.target);
// traces the group
}
]]>
</fx:Script>
<s:Group width="500" height="500" horizontalCenter="0" verticalCenter="0"
mouseDown="group1_mouseDownHandler(event)"
mouseEnabledWhereTransparent="true">
<s:Rect x="10" width="100" height="100" radiusX="10" radiusY="10">
<s:fill>
<s:SolidColor color="#ff0000"/>
</s:fill>
</s:Rect>
<s:Ellipse x="150" width="100" height="100">
<s:fill>
<s:SolidColor color="#ff0000"/>
</s:fill>
</s:Ellipse>
</s:Group>
</s:Application>
包spark.primitives中的类不是从InteractiveObject继承的,它们不会分派鼠标事件。
将它们添加到不同的组中,一对一。并将侦听器添加到组。包spark.primitives中的类不是从InteractiveObject继承的,它们不会分派鼠标事件。
将它们添加到不同的组中,一对一。并在小组中加入听众。这也是我的第一个想法。不过,这可能会导致组/组件数量过多,从而影响应用程序的效率。可能会根据鼠标点击x和y事件以及形状的位置进行一些计算。这是一种可能性,但正如Rebog所说,这可能会影响应用程序的效率。我正在寻找一个使用命中测试或循环通过图形元素并检查x和y位置的示例。我也没有这样做,这就是为什么我发布了这个问题。:)若你们在一个组中添加所有的元素,点击测试就并没有用了。检查x&y可以做到,但你需要大量的计算。这也是我的第一个想法。不过,这可能会导致组/组件数量过多,从而影响应用程序的效率。可能会根据鼠标点击x和y事件以及形状的位置进行一些计算。这是一种可能性,但正如Rebog所说,这可能会影响应用程序的效率。我正在寻找一个使用命中测试或循环通过图形元素并检查x和y位置的示例。我也没有这样做,这就是为什么我发布了这个问题。:)若你们在一个组中添加所有的元素,点击测试就并没有用了。检查x&y可以做到这一点,但你需要大量的计算。