我正在尝试捕获鼠标事件,每当鼠标在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'的右下方结束的框。欢迎提出任何解决方法(或替代解决方案)。