Я пытаюсь сделать маленькую игру, используя (бесплатно) GLUT.Я знаю, что он старый и есть лучшие альтернативы, но в настоящее время я предпочитаю придерживаться его и использовать его как можно больше.Я программирую на C.
В настоящее время я пытаюсь заставить GLUT правильно определять все нажатия клавиш.Я использую glutKeyboardFunc, glutKeyboardUpFunc, glutSpecialFunc и glutSpecialUpFunc для обнаружения нажатых клавиш и сохраняю их состояние в созданном мною коротком массиве (в настоящее время у меня есть только 5 используемых клавиш, поэтому я просто создал для них определенный массив).
Тем не менее, хотя все работает нормально для 2 клавиш или меньше, игра не может правильно определить 3 клавиши или больше.В то время как для некоторых клавиш он правильно определяет комбинацию (что на самом деле происходит только для 1 конкретной комбинации), для других функции просто не обнаруживают третью нажатую клавишу.
Я проверял свой код несколько раз,и нет ничего особенного в комбинации, которая работает.Я также заставил glutKeyboardFunc и glutSpecialFunc напрямую печатать каждое нажатие клавиш, которое они получают, и кажется, что они просто перестают работать после того, как я нажимаю более 2 клавиш.
Это известная проблема с GLUT или что-то еще?Я много гуглил и не нашел никого с подобной проблемой.