1
나는 libgdx를 사용하여 일종의 타이핑 트레이너를 개발하려고 노력 중이며 이런 종류의 문제로 붙어 있습니다. 키 사용자가 오히려 그것을 표시하기 위해 (문자 인 경우) 누르거나 입력을 지우려면 (스페이스 키 인 경우) 어떤 방법을 감지해야합니다. 나는이 해결책을 생각해 냈다 :누르는 키 값을 얻는 방법
StringBuilder typeArea = new StringBuilder();
if (Gdx.input.isKeyJustPressed(Input.Keys.A)) {
typeArea.append(Input.Keys.toString(Input.Keys.A));
} else if (Gdx.input.isKeyJustPressed(Input.Keys.B)) {
typeArea.append(Input.Keys.toString(Input.Keys.B));
} else if ... {
...
} else if (Gdx.input.isKeyJustPressed(Input.Keys.SPACE)) {
typeArea.setLength(0);
}
더 우아한 방법이 있어야한다. 나는 다음과 같은 것을 찾고있다.
String letters = "abcdefg...";
StringBuilder typeArea = new StringBuilder();
if (Gdx.input.isKeyJustPressed(Input.Keys.ANY_KEY)) {
if (letters.indexOf(getKeyPressedValue()) >= 0) {
typeArea.append(getPressedKeyValue());
} else if (getKeyPressedValue() == Input.Keys.SPACE) {
typeArea.setLength(0);
}
}
아니면 다른 방법이 더 쉽다. 어떤 제안?
를 오버라이드 (override) 내 문제를 해결하기 위해서'Screen '에'Stage'를 추가하고 어떤 종류의 Actor를 추가하고이 청취자를 첨부해야합니다. 그렇습니까? –
일반적인 InputProcessor를 사용하고 직접 구현할 수있는 KeyDown 이벤트를 사용할 수 있습니다. 나는 이것을 내 대답에 추가 할 것이다. – dfour