2013-02-18 2 views
0

을 감지 나는 다음과 같은 코드가 있습니다LWJGL 키보드와 마우스를 눌러

private int getKeyboardKeyPressed() { 
    while (Keyboard.next()) { 
     if (Keyboard.getEventKeyState()) { 
      int key = Keyboard.getEventKey(); 
      if (key == Keyboard.KEY_ESCAPE) 
       return -1; 

      return key; 
     } 
    } 
    return -1; 
} 

private int getMouseKeyPressed() { 
    return Mouse.getEventButton(); 
} 

나는 사용자가 입력 한 키 누름 (버튼을 누르면, 다음 Enter 키를 눌러 원하는 키)를 수 있도록 스윙 버튼을 사용합니다.

이렇게하면 첫 번째 마우스는 항상 0으로 반환되지만 아무 것도 누르지 않으면 문서에서 -1을 반환한다고 표시됩니다. 스윙의 버튼 누름으로 인해이 문제가 발생할 수 있다고 생각했지만, 처음에는 잠자기를하는 새 스레드를 설정해도 작동하지 않으며 첫 번째 프레스가 삭제되지도 않습니다.

둘째, 키보드 감지가 전혀 작동하지 않는 것 같습니다. 프레스를 감지하지 못합니다.

답변

0

분명히 LWJGL은 디스플레이가 활성화되어 있어야하고 활성 스윙 창을 통해 키를 잡을 수 없습니다.

+0

이것은 흥미 롭습니다. LWJGL이 왜 디스플레이를 활성화해야하는지에 대한 더 공식적인 설명이나이 정보를 찾은 곳의 문서를 게시 하시겠습니까? –

+0

이것은 정말로 오래 전이었습니다. 그래서 이것은 내가 기억할 수있는 전부입니다. 나는 설정을위한 팝업 창을 가지고 있고 키/마우스 등을 잡았고 어떤 키가 눌려 졌는지 결정했다. ("Action"을 설정하기 위해 버튼을 누른 다음 키를 누른다). LibGDX는 팝업 창에 포커스가 있기 때문에 키/이벤트를 포착하지 않았습니다. 나는 팝업을 그대로 유지하면서 결국 그것을 해결했지만, 어떻게 그 방법을 기억할 수는 없다. 나는 LWJGL 창이 최소화되지 않는다면, 그것이 활성 상태 일 수 있다고 생각한다. – RobotRock

+0

회상 해 주셔서 감사합니다. 미안 해요, 게시 날짜가 너무 오래 전인지는 몰랐습니다. –