动作脚本3.0。如何检测组合键(按键排列)?

时间:2014-02-20 13:08:36

标签: actionscript-3 flash animation keyboard key

我正在制作Flash游戏。

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

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

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

我需要这样的东西:

单击组合键应该启动attack4(特殊攻击)动画。

单击“z”键,在“x”后,在“c”键后(z> x> c) - 它应该开始攻击4动画。

结构应该是这样的:

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");
                }

}

你有想法吗?谢谢。

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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

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