Flash:AS3:按钮单击以触发右箭头键?

时间:2011-05-23 04:42:21

标签: flash actionscript-3

我正试图找出一种方法,让按钮在点击时基本上触发右箭头键。如果有人可以帮我解决这个问题,我会非常感激!谢谢你的推荐。

2 个答案:

答案 0 :(得分:2)

总的来说,这是一个坏主意。

如果希望鼠标按钮执行与键相同的操作,则应将代码重构为共享方法:

function doSomething(){
    // ...
}

function mouseClick(){
    doSomething();
}

function keyPress(){
    doSomething();
}

答案 1 :(得分:1)

如果你设置了与我类似的击键管理,那么应该很容易..

我基本上只有一个带有数组的类,该数组根据压缩/释放键的keyCode将给定索引设置为true / false ..

细分:

当我按下ASCII或keyCode值为65的“a”时,array[65]设置为true。当我发布“a”键时,array[65]设置为false

然后我只有一个函数返回一个表示按下键的布尔值。以下是该课程的一个简单示例:

package
{
    import flash.display.Stage;
    import flash.events.KeyboardEvent;

    public class Keystrokes
    {
        public static var keys:Array = [];

        public static function init(stg:Stage):void
        {
            stg.addEventListener(KeyboardEvent.KEY_DOWN, _keyDown);
            stg.addEventListener(KeyboardEvent.KEY_UP, _keyUp);
        }

        private static function _keyDown(e:KeyboardEvent):void
        {
            keys[e.keyCode] = true;
        }

        private static function _keyUp(e:KeyboardEvent):void
        {
            delete keys[e.keyCode];
        }

        public static function keyIsDown(...ascii):Boolean
        {
            var i:uint;
            for each(i in ascii)
            {
                if(keys[i]) return true;
            }

            return false;
        }
    }
}

现在所有这些说你基本上可以做到:

Keystrokes.keys[keycode_for_right_arrow] = true;

单击鼠标时,以及释放时false