Я новичок в OpenGL и использую GLFW для ввода. Недавно я разрабатывал простую программу для создания фигур при нажатии левой кнопки мыши. Если удерживать левую кнопку мыши, фигура будет следовать за мышью, пока не будет отпущена левая кнопка мыши. В настоящее время у меня есть глобальная переменная bool, отслеживающая, когда ключ удерживается или отпускается. Обратный вызов щелчка мыши меняет значение bool с true на false соответственно. Я знаю, что использовать глобальные переменные — плохая практика, поэтому как лучше это сделать? Я читал, что для отслеживания этого обычно используется отдельный объект-буфер, но какой буфер я бы хотел использовать? Или есть лучший способ сделать это, о котором я не знаю?
// Globals
// -------
bool keyHeld = false;
int main() {
while (!glfwWindowShouldClose(window)) {
if (keyHeld) {
// Get screen coordinates
// Get Cursor Position
// Convert position to clip. coords.
// Create transformation matrix
}
}
// Send matrix to uniform in shader
// Render shape
return 0;
}
void mouse_callback(GLFWwindow* window, int button, int action, int mods) {
if (button == GLFW_MOUSE_BUTTON_LEFT && action == GLFW_PRESS)
keyHeld = true;
if (button == GLFW_MOUSE_BUTTON_LEFT && action == GLFW_RELEASE)
keyHeld = false;
}
Подробнее здесь: https://stackoverflow.com/questions/789 ... ey-is-held
Какова обычная практика хранения bool, чтобы определить, удерживается ли ключ? ⇐ C++
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Какова обычная практика хранения bool, чтобы определить, удерживается ли ключ?
Anonymous » » в форуме C++ - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Расширения Chrome: какой -нибудь способ сказать, когда нажата и удерживается ключ?
Anonymous » » в форуме Jquery - 0 Ответы
- 10 Просмотры
-
Последнее сообщение Anonymous
-