나는 Libgdx 라이브러리를 사용하여 Android 플랫폼 용 게임을 개발하려고합니다. 네트워크의 경우 Kryonet 라이브러리를 사용합니다.libgdx & kryonet : threads
내 응용 프로그램이 내 서버에 연결되어있을 때 화면을 변경하고 싶습니다.
네트워크 부분 일 것 같다하지만 난 스레드에 문제가 : 그것은 아닌 Libgdx 스레드는 OpenGL을 실행되는 Kryonet의 스레드의 :
public class MyGdxGame extends Game {
public static int UDP_PORT = 55555, TCP_PORT = 55556;
private Client client;
@Override
public void create() {
/*
* client connection
* etc ...
*/
client.addListener(new Listener() {
private int nb = 0;
@Override
public void received(Connection connection, Object data) {
super.received(connection, data);
nb++;
if (nb == 5) {
MyGdxGame.this.setSecondScreen();
}
}
});
setScreen(new First(this, client));
}
protected void setSecondScreen() {
setScreen(new Second(this, client)); //This part should be executed by Libgdx thread ?!
}
참고 먼저와 두 번째이 화면 클래스 모두있는 단지 이미지를 그려라. "클라이언트"java.lang.RuntimeException가 스레드에 예외 : 현재 스레드에서 찾을 수 없습니다 OpenGL을 컨텍스트 나는 둘째 화면을 실행하려고 할 때
나는이 예외가있다.
LibGDX 스레드가 강제로 명령을 실행할 수 있습니까? 다른 접근 방법이 있습니까?
Libgdx에 감사의 조나단
멋지다. 나는 몰랐다. 나는 가능한 한 빨리 노력한다. 버그 정확히 내가 원하는거야. Runnable은 게임이 시작될 때 한 번만 실행해야합니다. 따라서 할당 코드를 사용할 수 있다고 가정합니다. 감사! – Jonathan