ActionScript 3中的按键问题

问题描述 投票:1回答:4

我正在为一项任务创建类似DDR的游戏,并且我的键盘似乎可以响应并跟踪它,但前提是我先用鼠标在屏幕上按下。

我如何摆脱它,让它立即响应?

  • [right_mc是正在移动的箭头
  • [ArrowRight_mc是顶部的箭头
  • perfect_mc应该短暂弹出
  • 击中的发光箭头也应如此。

这是我到目前为止的内容:

if(rightDown){
    trace("right arrow");
    if(right_mc){
        if(right_mc.y >= ArrowRight_mc.y){
            perfect_mc.visible = true;
            glowRight_mc.visible = true;
        }
    }
}
actionscript-3 flash
4个回答
4
投票

对于Flash开发人员来说,这是一个长期存在的问题。 Flash需要键盘焦点才能检测到键盘事件


0
投票
这里的问题是,第一次加载屏幕时,嵌入式SWF文件没有焦点。您可以使用JavaScript为其指定焦点,但根据我的经验,由于浏览器解释JS的方式有所不同,因此这并非总是100%起作用。很多人要做的是在游戏加载后有一个很大的“开始”按钮,因此玩家必须单击SWF才能开始游戏。有些网站甚至使用JS来检测游戏何时失去焦点,并会暂停游戏并提醒用户。

0
投票
根据您的评论...我还不清楚。如果您必须单击以开始播放歌曲,那么您已经单击了SWF,并且应该获取键盘事件,对吗?因此,如果您必须单击开始然后单击

再次


0
投票
我知道你的意思。您在舞台上有一个特定的对象,需要重点关注才能触发键盘事件。我在这里玩游戏遇到了同样的问题。一个精灵需要与键盘箭头一起移动,但是容器需要聚焦,以便它能够响应。我只是将我想移动的对象设置为tabEnabled,因为我的要求仅出于可访问性目的,因此,先选择该对象将为其提供键盘控制。
© www.soinside.com 2019 - 2024. All rights reserved.