【问题标题】:Is it possible to get mouse events from a Spark Line or Path object in Flex 4?是否可以从 Flex 4 中的 Spark Line 或 Path 对象获取鼠标事件?
【发布时间】:2010-11-11 14:40:56
【问题描述】:

我正在绘制一个箭头作为<s:Path>,当鼠标悬停在它上面时我需要得到通知。我该怎么做?

箭头是组容器的一个元素。

我尝试为容器和箭头注册 MOUSE_OVER 事件,但似乎没有触发...

【问题讨论】:

    标签: apache-flex flex4


    【解决方案1】:

    Path 不扩展InteractiveObject,因此不允许毛皮鼠标交互。最好的办法是将路径封装在另一个可以扩展 InteractiveObject 的组件中,例如 Sprite

    您可以制作自己的“ClickablePath”类。

    【讨论】:

    • 所以你是说我应该继承自 Sprite 并将 Path 添加为 Sprite 的一个元素?但我不认为 Path 可以作为元素添加到 Sprite...
    • 是的,这是我的建议。我选择 Sprite 是因为它是 Flash 中用于绘图的常用元素。如果无法在 Sprite 上添加 Path,那么您当前将其添加到什么位置?你可以做 UIComponent,但我认为 Sprite 可能在链中更高,效率更高。
    • 我也不认为我可以将元素添加到 UIComponent。现在我继承自 Path .. 也许我应该尝试 Group 作为基类?虽然我怀疑我可能会为边界框而不是内部的箭头触发 on-over 事件。
    • 是的,继承自 Group 根据边界框触发事件。
    • 正确,addElement 仅在扩展 SkinnableComponent 或组的组件中。扩展 UIComponent 时,您将使用 addChild。本质上它们是相同的,只是不同。
    【解决方案2】:

    尝试封装在 Graphic 对象 (Flex4) 中。看那边: http://blog.flexexamples.com/2010/03/22/creating-a-simple-image-map-in-flex-4/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-09
      相关资源
      最近更新 更多