我在Flash中创建了一个可展开的横幅广告。除了一件事,一切都很棒。如何检测用户何时不再悬停在Flash广告上?我尝试过广告“点击区域”,可用于检测MOUSE_OUT
。问题是,有一个视频播放,以及需要点击的社交媒体按钮。如果我在其上放置一个命中区域,它们将不再可点击。如果我将点击区域放在按钮后面,当您将鼠标悬停在按钮上时会触发MOUSE_OUT
事件。
此类场景的最佳做法是什么?我也尝试在舞台对象上检测MOUSE_LEAVE
,但是一旦部署在HTML页面上,这似乎无法正常工作。谢谢你的帮助。
答案 0 :(得分:0)
您可以尝试添加不断检查ENTER_FRAME
和stage.mouseX
的{{1}}事件。当鼠标在Flash内容上时,这些值应该正确报告,并且当鼠标不再在舞台上时,将报告最后已知的鼠标坐标。但是,最后已知的鼠标坐标可能并不总是舞台的实际宽度或高度,因此您可能希望在那里添加一些公差。
例如,如果您的(展开的)Flash内容宽度为500px,则在stage.mouseY
事件中,您可以检查ENTER_FRAME
是否小于10px(鼠标向左移动)或超过490px (鼠标向右移动)并最小化Flash内容。重复高度,并根据需要调整公差值。
这应该会给你你想要的效果。我能看到的唯一不足之处是stage.mouseX
事件的开销只是为了检查鼠标是否已经离开了内容,但我没有看到任何解决方法。