Ловля заглавных букв в AS3 - PullRequest
       57

Ловля заглавных букв в AS3

0 голосов
/ 10 августа 2011

Хорошо, я знаю, как ловить обычные строчные буквы.Я использую KeyboardEvent.KEY_DOWN и сравниваю код с таблицей ASCII, чтобы узнать, какая клавиша была нажата.Теперь я также хочу узнать, есть ли нажатие, например, SHIFT + A, и я понятия не имею, как это реализовать.Я имею в виду, что в моей программе SHIFT и A - абсолютно разные клавиши, которые не имеют ничего общего друг с другом, и они оба будут вызывать KeyboardEvents при нажатии.В грузинском алфавите некоторые буквы набираются комбинацией букв SHIFT и английских, например, W на грузинской клавиатуре означает წ, когда SIFT + W означает ჭ.Абсолютно разные буквы, как видите.И я хочу быть в состоянии поймать оба, потому что я в настоящее время разрабатываю грузиноязычную игру.Любая помощь будет оценена.Заранее спасибо: -)

Ответы [ 2 ]

3 голосов
/ 10 августа 2011

Посмотрите на класс KeyEvent.Он предоставляет вам информацию о том, была ли нажата клавиша Shift или нет.Посмотрите на этот пример:

stage.addEventListener (KeyboardEvent.KEY_DOWN, keyDownHandler);

function keyDownHandler (e:KeyboardEvent):void {
    trace("Key code: "+e.keyCode);
    trace("Ctrl status: "+e.ctrlKey);
    trace("Key location: "+e.keyLocation);
    trace("Shift key: "+e.shiftKey);
}

Это пример вывода:

(pressing the "a" key)
Key code: 65
Ctrl status: false
Key location: 0
Shift key: false

(pressing the SHIFT first for shift+a)
Key code: 16
Ctrl status: false
Key location: 1
Shift key: true

(pressing the "a" key while still holding shift)
Key code: 65
Ctrl status: false
Key location: 0
Shift key: true

Как вы можете видеть, комбинация KeyboardEvent.keyCode и KeyboardEvent.shiftKey содержит информацию, которую вы ищетедля.

1 голос
/ 10 августа 2011

Вы должны использовать KeyboardEvent.charCode (он дает код на английском языке, вам необходимо сопоставить его с вашей раскладкой клавиатуры на грузинском языке.) При нажатии клавиши shift со сдвигом может отображаться строчная буква при включенном capslock.

...