Flex 4: 使用spark.primitive.path对象捕获鼠标事件

4

我正在尝试捕获鼠标事件,每当鼠标在spark.primitive.path上执行某些操作时(如下所示的'L'形状)。

所有我阅读的资料都指出,我需要将路径放置在Group对象中,并将鼠标处理程序附加到该对象上。因此,代码看起来应该像这样...

  <s:Group left="10" right="10" top="10" bottom="10" mouseOver="...">
    <s:Path data="M 100 300 L 200 50 L 275 50 L 250 150 L 300 150 L 300 300 Z">                    
            <s:stroke>
                <s:SolidColorStroke color="0x888888"/>
            </s:stroke>
        </s:Path>
  </s:Group>

...并在屏幕上显示类似于这样的内容(请原谅ASCII艺术)

_____________________________
|                           |
|             _______       |
|            /      /       |
|           /      /        |
|          /      /         |
|         /      /_____     |
|        /            |     |
|       /             |     |
|      /______________|     |
|                           |
-----------------------------

这几乎可以工作。问题在于鼠标事件是基于Group对象的尺寸触发,而不是Path。因此,如果你将鼠标移动到路径左侧,仍然会触发鼠标事件,因为Group是一个从0,0开始并在'L'的右下方结束的框。欢迎提出任何解决方法(或替代解决方案)。
2个回答

4
如果您使用SkinnableContainer而不是Group,您将获得所需的行为。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接