|
Содержание
[ Введение | Основы | if/else | Циклы | Массивы | Графика | Анимация | Мышь | Клавиатура | Математика | Методы | Текст | Задачи ] Java для школьников: урок 9Работа с клавиатуройС помощью метода getKeyState() можно узнать, нажата ли в настоящий момент нужная клавиша.
Напишем программу, которая печатает состояние клавиш-стрелок. По клавише Esc программа завершается. void main() { while (true) { // Проверяем нажатие клавиш-стрелок if (getKeyState("up")) { printLine("Вверх"); } if (getKeyState("down")) { printLine("Вниз"); } if (getKeyState("left")) { printLine("Влево"); } if (getKeyState("right")) { printLine("Вправо"); } // По клавише Esc завершаем программу if (getKeyState("escape")) { break; } // Каждую секунду печатаем точку if (getTimerEvent(1)) { print("."); } } printLine("Выполнение завершено."); } Обратите внимание: по клавише escape выполняется оператор “break;”, который прерывает выполнение цикла, и в результате программа завершается. Названия клавишВ качестве параметра методу getKeyState() передается название клавиши в виде строки. Буквы, цифры и обычные символы можно указывать непосредственно, например “A”, “ж”, “!”. Стрелки и другие специальные клавиши имеют особые имена:
Двигаем шарикНа прошлом занятии мы двигали красный шарик с помощью мыши. Теперь будем двигать его клавишами-стрелками. void main() { // Объявляем переменные x и y int x = 0; int y = 0; // Начинаем цикл while (true) { // Проверяем нажатие клавиш-стрелок if (getKeyState("up")) { if (y >= 20) y = y - 20; } if (getKeyState("down")) { if (y < getDrawingHeight() - 60) y = y + 20; } if (getKeyState("left")) { if (x >= 20) x = x - 20; } if (getKeyState("right")) { if (x < getDrawingWidth() - 60) x = x + 20; } // Если прошло достаточно времени, передвигаем шарик if (getTimerEvent(0.05)) { // Рисуем шарик clearDrawing(); setColor(red); fillCircle(x, y, 20); if (y < getDrawingHeight() - 42) { // Смещаем каждый раз вниз на 2 точки y = y + 2; } } // Заканчиваем цикл } } Упражнения:
|
||||||||||||||||||||||||||||||||||||||||||||||