我在Flex中编写了little video game,在浏览器中运行。玩家通过按下键盘上的箭头按钮移动,所以我需要捕获这些按键。事实上,当玩家按下其中一个键时,游戏动作就开始了。
为了捕获击键,Flash / Flex应用程序(而不仅仅是浏览器)需要具备焦点。
如何确保应用程序具有焦点?我已经实现了一些黑客攻击:你必须点击“开始”按钮开始游戏。此按钮的唯一要点是确保应用程序具有焦点。有更好的解决方案吗?
答案 0 :(得分:2)
不,这是唯一的方法,但我认为你现在的解决方案很棒。您(作为用户)必须单击以进行聚焦的原因是,应用程序无法悄悄地窃取焦点,然后在您不知情的情况下记录击键,例如:窃取密码
答案 1 :(得分:1)
在某些浏览器(IE)中,您可以通过JavaScript提供SWF焦点。不幸的是,这在Firefox中不起作用。因此,一些用户必须单击SWF才能获得焦点。你可以很容易地在你的游戏中检查浏览器,如果它是IE,那么自动给予SWF焦点而不显示“开始”按钮。然后在Firefox中显示“开始”按钮。
答案 2 :(得分:0)