如何在AS3中手动设置焦点以便鼠标滚轮工作?

时间:2009-10-12 22:59:30

标签: flash actionscript-3

(这是Flash 9/10 AS3的问题。)

我正在尝试解决用户在开始获取鼠标滚轮事件之前必须点击某个区域的问题。

我认为焦点是在其他地方设置的,所以在我要求事件的movieclip的ctor中,我说“stage.focus = this”。从我做的网络搜索来看,这应该有效。但事实并非如此。在开始听到鼠标滚轮事件之前,我仍然需要点击剪辑。

我在这里做错了什么?这是Flash IDE中的基本AS3内容,通过IDE作为测试运行(尚未托管在网页上),没有Flex,没有组件..

轮子事件发生得非常好并且完美地工作,但我想避免必须进行初始点击。

2 个答案:

答案 0 :(得分:2)

stage.focus适用于keyboard focus。为相应的精灵设置tabEnabled = true;,然后单击选项卡以使显示对象成为焦点。您可能想要设置stageFocusRect = false;以避免在聚焦的显示对象周围显示黄色矩形。

答案 1 :(得分:0)

您确定浏览器具有焦点且电影具有焦点吗?在某些情况下,我们必须使用简单的javascript来设置动画片段的焦点。例如,如果您的Flash具有ID“flashVideo”,则可以执行简单的document.getElementById('flashVideo').focus()操作。 您可以使用javascript框架做得更好,以确保在DOM准备好时运行代码。例如,在jQuery中,您可以使用以下内容:

jQuery(document).ready(function(){
    jQuery('#flashVideo').focus();
})