0

我在 Flash 中创建了一个展开式横幅广告。一切都很棒,除了一件事。如何检测用户何时不再将鼠标悬停在 Flash 广告上?我试图添加一个可用于检测的“命中区域” MOUSE_OUT。问题是,有一个视频播放,以及需要可点击的社交媒体按钮。如果我在这些上面放置一个点击区域,它们就不再是可点击的。如果我将点击区域放在按钮后面,则MOUSE_OUT当您将鼠标悬停在按钮上时会触发事件。

对于这种情况,最佳实践是什么?我也尝试过MOUSE_LEAVE在舞台对象上进行检测,但是一旦部署在 HTML 页面上,这似乎无法正常工作。感谢您的帮助。

4

1 回答 1

0

您可以尝试添加一个ENTER_FRAME不断检查stage.mouseXstage.mouseY. 当鼠标在 Flash 内容上时,这些值应该正确报告,并且当鼠标不再在舞台上时,将报告最后已知的鼠标坐标。但是,最后已知的鼠标坐标可能并不总是舞台的实际宽度或高度,因此您可能需要在其中添加一些容差。

例如,如果您的(展开的)Flash 内容宽度为 500 像素,则ENTER_FRAME您可以检查stage.mouseX是小于 10 像素(鼠标向左移动)还是大于 490 像素(鼠标向右移动)并最小化 Flash内容。重复高度,并根据需要调整公差值。

这应该会给你你想要的效果。我能看到的唯一缺点是ENTER_FRAME事件的开销只是为了检查鼠标是否离开了内容,但我没有看到任何解决方法。

于 2012-08-07T16:18:19.613 回答