|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
<meta charset="UTF-8">
|
|
|
7a004b |
<link href="style.css" rel="stylesheet" type="text/css">
|
|
|
7a004b |
<title>Клавиатура и мышь - Helianthus</title>
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
Helianthus
|
|
|
7a004b |
Запуск и общие функции
|
|
|
7a004b |
Клавиатура и мышь
|
|
|
7a004b |
Рисование
|
|
|
7a004b |
Спрайты
|
|
|
7a004b |
Группы спрайтов
|
|
|
7a004b |
Камера
|
|
|
7a004b |
Звук
|
|
|
7a004b |
|
|
|
7a004b |
Все функции
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
Клавиатура и мышь
|
|
|
7a004b |
|
|
|
7a004b |
Во время работы программы вы можете узнавать положение мыши и состояние клавиш. Координаты указателя мыши можно получить функциями mouseX и mouseY. Узнать состояние клавиш клавиатуры и кнопок мыши можно функциями keyDown и mouseDown соответственно.
|
|
|
7a004b |
|
|
|
7a004b |
Для указания клавиши нужно написать её текстовое наименование, например: "a", "1", "left", "right", "up", "down", "return" (для Enter), "escape" и и.д.
|
|
|
7a004b |
|
|
|
7a004b |
Названия клавиш взяты из библиотеки GTK, их полный список вы можете посмотреть в файле (для Linux), список очень большой:
|
|
|
7a004b |
file:///usr/include/gtk-3.0/gdk/gdkkeysyms.h
|
|
|
7a004b |
или в интернете:
|
|
|
7a004b |
https://gitlab.gnome.org/GNOME/gtk/-/blob/master/gdk/gdkkeysyms.h
|
|
|
7a004b |
Обратите внимание, что наименование нужно писать маленькими (строчными) буквами и приставку GTK_KEY_ нужно убрать. Например, если вы нашли в большом списке клавишу GDK_KEY_BackSpace — значит в вашей программе вам нужно написать "backspace".
|
|
|
7a004b |
|
|
|
7a004b |
Наименований для кнопок мыши всего три: "left", "middle" и "right".
|
|
|
7a004b |
|
|
|
7a004b |
Кроме этого существуют функции для определения момента нажатия и отпускания клавиш и кнопок. На тот случай когда некоторые действия нужно выполнить только один раз в момент нажатия (или отпускания) клавиши. Смотрите функции keyWentDown, keyWentUp, mouseWentDown, mouseWentUp.
|
|
|
7a004b |
|
|
|
7a004b |
Функции:
|
|
|
7a004b |
|
|
|
7a004b |
int keyDown(const char *code);
|
|
|
7a004b |
|
|
|
7a004b |
Функция возвращает TRUE (число 1) если указанная клавиша в нажата (и удерживается) в данный момент и FALSE (число 0) если клавиша отпущена.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
code — текстовое наименование клавиши.
|
|
|
7a004b |
|
|
|
7a004b |
int keyWentDown(const char *code);
|
|
|
7a004b |
|
|
|
7a004b |
Функция возвращает TRUE (число 1) если указанная клавиша стала нажатой в момент времени между предыдущим и текущим кадром. В последующих кадрах, даже если клавиша остаётся нажатой, функция возвращает FALSE (число 0).
|
|
|
7a004b |
|
|
|
7a004b |
Важно: Примерно через секунду после нажатия и удержания клавиши, keyWentDown всё таки сработает ещё раз — так будто клавиша была повторно нажата. Другими словами поведение функции такое же как и у текстового редактора: если удерживать клавишу некоторое время редактор повторяет печать символа несколько раз.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
code — текстовое наименование клавиши.
|
|
|
7a004b |
|
|
|
7a004b |
int keyWentUp(const char *code);
|
|
|
7a004b |
|
|
|
7a004b |
Функция возвращает TRUE (число 1) если указанная клавиша перестала быть нажатой в момент времени между предыдущим и текущим кадром. Во всех других случаях возвращает FALSE (число 0).
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
code — текстовое наименование клавиши.
|
|
|
7a004b |
|
|
|
7a004b |
int mouseDown(const char *code);
|
|
|
7a004b |
|
|
|
7a004b |
Функция возвращает TRUE (число 1) если указанная кнопка мыши в нажата (и удерживается) в данный момент и FALSE (число 0) если кнопка отпущена.
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
code — текстовое наименование кнопки мыши.
|
|
|
7a004b |
|
|
|
7a004b |
int mouseWentDown(const char *code);
|
|
|
7a004b |
|
|
|
7a004b |
Функция возвращает TRUE (число 1) если указанная кнопка мыши стала нажатой в момент времени между предыдущим и текущим кадром. Во всех последующих кадрах, даже если кнопка остаётся нажатой, функция возвращает FALSE (число 0).
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
code — текстовое наименование кнопки мыши.
|
|
|
7a004b |
|
|
|
7a004b |
int mouseWentUp(const char *code);
|
|
|
7a004b |
|
|
|
7a004b |
Функция возвращает TRUE (число 1) если указанная кнопка мыши перестала быть нажатой в момент времени между предыдущим и текущим кадром. Во всех других случаях возвращает FALSE (число 0).
|
|
|
7a004b |
|
|
|
7a004b |
Параметры:
|
|
|
7a004b |
|
|
|
7a004b |
code — текстовое наименование кнопки мыши.
|
|
|
7a004b |
|
|
|
7a004b |
int mouseDidMove();
|
|
|
7a004b |
|
|
|
7a004b |
Функция возвращает TRUE (число 1) если с момента отрисовки предыдущего кадра положение мыши изменилось, и возвращает FALSE (число 0) ели мышь оставалась неподвижной.
|
|
|
7a004b |
|
|
|
7a004b |
double mouseX();
|
|
|
7a004b |
|
|
|
7a004b |
Возвращает координату X указателя мыши.
|
|
|
7a004b |
|
|
|
7a004b |
double mouseY();
|
|
|
7a004b |
|
|
|
7a004b |
Возвращает координату Y указателя мыши.
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
|
|
|
7a004b |
|