Главная страница
Образовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей
qrcode

JavaScript для детей. Самоучитель по программированию. Ник Морга. Москва Манн, Иванов и Фербер 2016


НазваниеМосква Манн, Иванов и Фербер 2016
Дата18.10.2019
Размер5.87 Mb.
Формат файлаpdf
Имя файлаJavaScript для детей. Самоучитель по программированию. Ник Морга
оригинальный pdf просмотр
ТипЗакон
#64349
страница17 из 19
КаталогОбразовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей
Образовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей
1   ...   11   12   13   14   15   16   17   18   19


"canvas" width=
"400" height=
"400"
>



226
Часть III. Графика нажатия клавиш. Теперь понажимайте клавиши на клавиатуре — в консоль будут выводиться соответствующие этим клавишам коды.
Например, если вы напечатаете «привет», в консоли появится нечто вроде:
71 72 66 68 84 78
У каждой нажатой клавиши свой код — для «П» это 71, для «Р» это 72 и т. д.
ПОПР ОБУ ЙТЕ !
Понажимайте разные клавиши, чтобы узнать их коды. Какие значения соответствуют стрелкам вверх, вниз, влево и вправо? А клавишам SHIFT и ENTER?
У каждой буквенной и цифровой клавиши тоже есть свой уникальный код.
Перевод кодов в названия с помощью объекта
Чтобы работать с клавиатурой было проще, воспользуемся объектом для перевода кодов клавиш в их названия. В следующем примере мы создадим объект keyNames, ключи которого соответствуют кодам клавиш, а значения — их англоязычным названиям. Замените в файле
keyboard.html прежний JavaScript-код на вот такой:
var keyNames
=
{
32:
"space"
,
//пробел
37:
"left"
,
//влево
38:
"up"
,
//вверх
39:
"right"
,
//вправо
40:
"down"
//вниз
};
$
(
"body"
).keydown(
function
(event) {

console log
(keyNames[
event
.keyCode]);
});
Сначала мы создали объект keyNames, добавив ему в качестве свойств числа 32, 37, 38, 39 и 40. Это пары «ключ-значение», где ключами являются коды клавиш (такие как 32, 37 и т. д.), а соответствующими
Key name
— название клавиши
15. Управление анимациями с клавиатуры
227
значениями — названия клавиш (например,
"space" для «пробела» и "left" для стрелки влево).
Теперь этот объект можно использовать для поиска названия клавиши по ее коду. Например, чтобы узнать название для кода 32, введите keyNames[32] и получите строку "space".
В строке

мы используем объект keyNames в теле обработчика событий, чтобы найти название только что нажатой клавиши. Если находящийся в event.keyCode код есть среди ключей объекта keyNames, обработчик выведет в консоль соответствующее название, иначе он напечатает undefi ned.
Загрузите файл keyboard.html вбраузер. Откройте консоль, кликните по основному окну браузера и понажимайте разные клавиши. При нажатии на любую из пяти клавиш, перечисленных в объекте keyNames
(то есть стрелок или пробела), программа напечатает их название. Иначе она выведет undefi ned.
ПОПР ОБУ ЙТЕ !
Добавьте в объект keyNames дополнительные пары «ключ-значение», чтобы можно было получить названия других клавиш. Пусть это будут коды и названия для SHIFT, ENTER/RETURN, и ALT/OPTION.
Управляем мячом с клавиатуры
Теперь, зная, как определить нажатую клавишу, мы можем написать программу для управления мячом с клавиатуры. Наша программа будет рисовать мяч и перемещать его вправо. Нажатия клавиш-стрелок будут менять направление мяча, а нажатие на «пробел» остановит его движение.
Если мяч уйдет за границу «холста», он появится с противоположной стороны. Например, если мяч уйдет за правую границу, он снова появится у левой границы, продолжая двигаться в прежнем направлении, как показано на рис. 15.1.
Мы воспользуемся объектом под названием keyActions, чтобы определять, какая клавиша нажата, и использовать эту информацию для смены направления полета мяча. А для периодического обновления позиции мяча и перерисовки его в новых координатах мы воспользуемся функцией setInterval.
Рис. 15.1. Если мяч
вылетит за правую
границу «холста»,
он опять появится слева
Actions

действия
228
Часть III. Графика
Настройка «холста»
Сначала нам нужно найти элемент canvas и получить контекст рисования. Откройте файл keyboard.html
изамените весь JavaScript внутри второй пары тегов
1   ...   11   12   13   14   15   16   17   18   19

перейти в каталог файлов

Образовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей

Образовательный портал Как узнать результаты егэ Стихи про летний лагерь 3агадки для детей