【问题标题】:Action Script 3.0. How to detect key combinations (keys clicked in row)?动作脚本 3.0。如何检测组合键(在行中单击的键)?
【发布时间】:2014-02-20 13:08:35
【问题描述】:

我正在制作 Flash 游戏。

点击“z”键启动attack1动画。

点击“x”键启动attack2动画。

点击“c”键启动attack3动画。

我需要这样的东西:

通过点击组合键应该会启动attack4(特殊攻击)动画。

点击“z”键,在It“x”之后,在It“c”键之后(z > x > c) - 它应该开始attack4动画。

结构应该是这样的:

keyDown z
keyUp z
delay ~250 milliseconds 
keyDown right_arrow
keyUp right_arrow
delay ~250 milliseconds 
keyDown x
keyUpx
start attack3 animation

现在我的代码是:

        private function key_down(event:KeyboardEvent)
        {
            if (event.keyCode == 90)
            {
            Hero.gotoAndStop("attack1");
            }
}
        private function key_up(event:KeyboardEvent)
        {
                if (event.keyCode == 90)
                {
                 Hero.gotoAndStop("stay");
                }

}

你有想法吗?谢谢。

【问题讨论】:

    标签: actionscript-3 flash animation keyboard key


    【解决方案1】:

    试试这个:http://www.actiontad.com/components/src/com/tadSrc/arcade/ASJSComboKeys.html - 很久以前在一个项目中使用过。

    【讨论】:

      【解决方案2】:

      我会简单地创建一个数组,并在每次按下一个键时将键码推送到数组中,并使用某种计时器来进行延迟。然后每次按下一个键时检查数组,如果按键之间的时间过长,则清理数组。

      PD:如果您不知道如何使用计时器,您可以在进入帧事件中使用计数器而不是计时器

      【讨论】:

      • 谢谢你的回答,你能给我写个示例代码它应该是什么样子吗?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-04
      • 1970-01-01
      • 1970-01-01
      • 2012-01-22
      • 2018-06-20
      相关资源
      最近更新 更多