Вспышка: AS3: Нажатие кнопки, чтобы вызвать правую клавишу со стрелкой? - PullRequest
0 голосов
/ 23 мая 2011

Я пытаюсь найти способ, чтобы кнопка в основном вызывала нажатие клавиши со стрелкой вправо.Если бы кто-то мог помочь мне с кодом для этого, я был бы очень признателен!Спасибо заранее!

Ответы [ 2 ]

2 голосов
/ 23 мая 2011

В общем, это плохая идея.

Если вы хотите, чтобы кнопка мыши выполняла ту же операцию, что и клавиша, вам следует изменить код на общий метод:

function doSomething(){
    // ...
}

function mouseClick(){
    doSomething();
}

function keyPress(){
    doSomething();
}
1 голос
/ 23 мая 2011

Если вы настроили управление клавишами, аналогичное мне, тогда это будет легко ..

У меня просто есть класс с массивом, у которого заданный индекс установлен в true / false на основе keyCode нажатой / отпущенной клавиши.

Разбивка этого:

Когда я нажимаю «a» со значением ASCII или keyCode 65, тогда array[65] устанавливается на true. Когда я отпускаю клавишу «а», 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 при ее отпускании.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...