1
我有一个组中有许多不同的图形基元。如果我点击组,我可以在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/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>
这是我第一次想到的。尽管这可能会导致过多的组/组件,从而可能会影响应用的效率。可以根据鼠标点击x和y事件以及形状的位置做一些计算。 – JeffryHouser 2013-05-10 02:17:10
这是一种可能性,但像Reboog说的那样,它可能会影响应用效率。我正在寻找一个使用命中测试或循环显示图形元素并检查x和y位置的示例。我也没有这样做,这是我发布这个问题的原因。 :) – 2013-05-12 00:48:49
如果您将所有内容添加到一个组中,则点击测试没有用处。检查x和y可以做到这一点,但是你需要大量的计算。 – lipbb 2013-05-13 02:00:03