actionscript-3 - 弹性 : Determine if Space key is held down during MouseEvent

原文 标签 actionscript-3 flash apache-flex mouseevent modifier-key

MouseEvent类具有属性 altKey , ctrlKeyshiftKey我可以用它来确定在事件发生时是否按下了修饰键(即 Alt、Ctrl 和 Shift)。

但我想确定是否空间 在 MouseEvent 期间按住键。我该怎么做?

最佳答案

正如@Timofei Davydik 所建议的,我通过听 KeyboardEvent 以“手动”方式执行此操作。并设置一个标志来指示空间键被持有的状态。然后我只是在MouseEvent的监听器中使用这个标志的值.代码有点像这样(您可以添加任何其他您需要观看的键):

键盘事件监听器:

public class ModifierKeyboard
{
    /**
     *determine whether space key is held down
     */
    public static var spaceIsHeld:Boolean = false;

    /**
     * this handles the keyDown event on main app
     */
    public static function app_keyDownHandler(event:KeyboardEvent):void
    {
        switch (event.keyCode)
        {
            case Keyboard.SPACE:
                if (!spaceIsHeld)
                {
                    spaceIsHeld = true;
                }
                break;
        }
    }

    /**
     * this handles the keyUp event on main app
     */
    public static function app_keyUpHandler(event:KeyboardEvent):void
    {
        switch (event.keyCode)
        {           
            case Keyboard.SPACE:
                spaceIsHeld = false;
                break;
        }
    }
}

关于actionscript-3 - 弹性 : Determine if Space key is held down during MouseEvent,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18784759/

相关文章:

actionscript-3 - 如何判断 Actionscript 对象是否具有某个动态属性?

javascript - Flash:在单击并拖动(向下和移动)后跟踪鼠标位置,甚至在舞台/浏览器之外?

php - 动态类型语言和远程方法调用

flash - 旋转矩形上的点

javascript - 调试jPlayer Flash mp3播放

css - Flex:CSS问题

apache-flex - 如何将 xml 节点值绑定(bind)到 Flex 中的下拉数据字段?

java - Air NativeProcess Java

apache-flex - Flex 扩展 ComboBox

javascript - 以下反射语言功能和标准实现方式是否有名称?