홈>
자유로운 시간에 아주 기본적인 게임을 만들고 있는데 실제로 게임에 들어가기 전에 컨트롤러 지원을 포함시키는 방법을 배우고 싶습니다. 많은 튜토리얼과 다른 라이브러리를 시도했지만 JInput이 필요한 것처럼 보입니다 (그리고 LWJGL은 어떤 식 으로든 관련이 있습니까?). 이것은 문제가되지 않으며 일반적으로 JInput으로 작업하는 방법을 알아 냈습니다. 그러나 Windows 10과 호환되는 단일 버전의 JInput을 찾을 수 없습니다. 하나를 찾으려하더라도 필자가 작성한 테스트 코드가 최신 버전의 라이브러리에서도 작동한다는 것을 알 수있는 방법이 없습니다. Windows 10에서 작동하는지 테스트하거나 알 수있는 방법이 없습니다.
JInput을 표준으로 사용하는 것을 선호하지만 Java에서 컨트롤러 지원을 추가하는 방법을 알고 있다면 시도해 볼 수 있습니다.
여기에 내 코드와 오류가 있습니다. 어쩌면 내가 잘못한 것일 수 있습니다.
import org.lwjgl.LWJGLException;
import org.lwjgl.input.Controller;
import org.lwjgl.input.Controllers;
public class GamePadTut {
static Controller cont;
public static void main(String[] args) {
try {
Controllers.create();
} catch (LWJGLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Controllers.poll();
for(int i =0; i < Controllers.getControllerCount(); i++) {
cont = Controllers.getController(i);
System.out.println(cont.getName());
}
}
}
그리고 오류
WARNING: Found unknown Windows version: Windows 10
Attempting to use default windows plug-in.
Loading: net.java.games.input.DirectAndRawInputEnvironmentPlugin
java.lang.UnsatisfiedLinkError: no jinput-dx8_64 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at net.java.games.input.DirectInputEnvironmentPlugin$1.run(DirectInputEnvironmentPlugin.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at net.java.games.input.DirectInputEnvironmentPlugin.loadLibrary(DirectInputEnvironmentPlugin.java:67)
at net.java.games.input.DirectInputEnvironmentPlugin.<clinit>(DirectInputEnvironmentPlugin.java:109)
at net.java.games.input.DirectAndRawInputEnvironmentPlugin.<init>(DirectAndRawInputEnvironmentPlugin.java:45)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.java.games.input.DefaultControllerEnvironment.getControllers(DefaultControllerEnvironment.java:157)
at org.lwjgl.input.Controllers.create(Controllers.java:71)
at GamePadTut.main(GamePadTut.java:11)
java.lang.UnsatisfiedLinkError: no jinput-raw_64 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at net.java.games.input.RawInputEnvironmentPlugin$1.run(RawInputEnvironmentPlugin.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at net.java.games.input.RawInputEnvironmentPlugin.loadLibrary(RawInputEnvironmentPlugin.java:67)
at net.java.games.input.RawInputEnvironmentPlugin.<clinit>(RawInputEnvironmentPlugin.java:109)
at net.java.games.input.DirectAndRawInputEnvironmentPlugin.<init>(DirectAndRawInputEnvironmentPlugin.java:46)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at net.java.games.input.DefaultControllerEnvironment.getControllers(DefaultControllerEnvironment.java:157)
at org.lwjgl.input.Controllers.create(Controllers.java:71)
at GamePadTut.main(GamePadTut.java:11)
기본 라이브러리 경로에 .dll이 누락되어 있다고 생각합니다. 내가 잘못하지 않은 경우 jinput-dx8_64는 .dll 파일입니다.
http://wiki.lwjgl.org/wiki/Setting_Up_LWJGL_with_Eclipse.html
^ 당신이 일식을 사용하는 경우 설정을 얻는 데 도움이됩니다. 다른 IDE를 사용하고 있다면 정말 haha를 모릅니다.