Работа с кнопками геймпада - Java

Узнай цену своей работы

Формулировка задачи:

Добрый день! Подскажите, как убрать "удержание" кнопки на геймпаде. Т.е если я нажимаю на кнопу, должно происходить увеличение переменной на 1(один раз). Если я хоть немного задержу кнопку нажатой, счетчик начинает бешенно набирать обороты, что мне совсем не нужно. Thread.sleep + дает только промежуток между нажатиями, на "удержание" кнопки не влияет
import org.lwjgl.input.Controller;
import org.lwjgl.LWJGLException;
import org.lwjgl.input.Controllers;
 
import static test.MainFormAppearance.ab;
import static test.MainFormAppearance.amount;
import static test.MainFormAppearance.ar;
 
public class Start
{
    static org.lwjgl.input.Controller controller;
   
    public  static void main (String [] args){
 
        try {
            Controllers.create();
        }catch (LWJGLException e)
        {
            e. printStackTrace();
        }
        Controllers.poll();
 
        controller= Controllers.getController(0);
      
        while (true) {
            try {
                Thread.sleep(70);
 
            } catch (Exception e){}
 
            controller.poll();
 
            if (controller.isButtonPressed (2)) {
                ar++;
 
                System.out.println(ar);
 
            }
                if (controller.isButtonPressed(1)) {
                    ar--;
                    System.out.println(ar);
 
            }
        }
    }
}

Решение задачи: «Работа с кнопками геймпада»

textual
Листинг программы
while (Controllers.next()

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

5   голосов , оценка 4 из 5