flex4 - Flex 4 :Capturing mouse events with spark.primitive.path 对象

标签 flex4 mouseevent

每当鼠标在 spark.primitive.path 之上执行某些操作时,我都会 try catch 鼠标事件。 (下面的“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”右下角结束的框。

非常感谢有关我如何解决此问题(或替代解决方案)的任何想法。

最佳答案

如果您使用 SkinnableContainer 而不是 Group,您将获得您正在寻找的行为。

关于flex4 - Flex 4 :Capturing mouse events with spark.primitive.path 对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3418342/

相关文章:

apache-flex - 不同的命名空间在 Flex 中意味着什么?

apache-flex - 如何找出语言中按下的字符?

javascript - 关闭 mouseoff 和 mouseup 的功能

.net - 在鼠标悬停时更改周围边框的样式

apache-flex - Flex <fx :Script>? 中 'fb:purpose' 的目的是什么

java - 使用java将参数从flex传递到数据库

actionscript-3 - 为什么在 Flex 4 中这个笔划元素没有出现在这个梯形周围?

c# - 如何分别处理ChartControl上的MouseClick和MouseDoubleClick事件

javascript - 当 Canvas 滚动到屏幕外时无法拖动 Canvas 中的对象

Java游戏鼠标移动