2014-10-29 3 views
0

오류 코드를 발행 :Slick2d 메인 프로그램은

Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl 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 org.lwjgl.Sys$1.run(Sys.java:73) 
at java.security.AccessController.doPrivileged(Native Method) 
at org.lwjgl.Sys.doLoadLibrary(Sys.java:66) 
at org.lwjgl.Sys.loadLibrary(Sys.java:95) 
at org.lwjgl.Sys.<clinit>(Sys.java:112) 
at org.lwjgl.opengl.Display.<clinit>(Display.java:135) 
at org.newdawn.slick.AppGameContainer$1.run(AppGameContainer.java:39) 
at java.security.AccessController.doPrivileged(Native Method) 
at org.newdawn.slick.AppGameContainer.<clinit>(AppGameContainer.java:36) 
at bossRush.MainGame.main(MainGame.java:41) 

홈페이지 코드 : 마지막으로

package bossRush; 

import org.newdawn.slick.AppGameContainer; 
import org.newdawn.slick.GameContainer; 
import org.newdawn.slick.SlickException; 
import org.newdawn.slick.state.StateBasedGame; 

public class MainGame extends StateBasedGame { 
public static final String name = "Boss Rush"; 
public static final int menu = 0; 
public static final int map = 1; 
//public static final int play = 2; 
//public static final int save = 3; 
//public static final int load = 4; 
//public static final int DIX = 5; 

public MainGame(String name) { 
    super(name); 
    this.addState(new Menu(menu)); 
    this.addState(new Map(map)); 
    //this.addState(new Play(play)); 
    //this.addState(new Save(save)); 
    //this.addState(new Save(load)); 
    //this.addState(new Menu(DIX)); 
} 


public void initStatesList(GameContainer gc) throws SlickException { 
    this.getState(menu); 
    this.getState(map); 
    //this.getState(play); 
    //this.getState(save); 
    //this.getState(load); 
    //this.getState(DIX); 
    this.enterState(menu); 
} 

public static void main(String[] args){ 
    AppGameContainer appgc; 
     try{ 
      appgc = new AppGameContainer(new MainGame(name)); 
      appgc.setDisplayMode(640, 640, false); 
      appgc.start(); 
     }catch(SlickException e){ 
      e.printStackTrace(); 
     } 
} 

} 

상태의 샘플 :

package bossRush; 

import org.newdawn.slick.GameContainer; 
import org.newdawn.slick.Graphics; 
import org.newdawn.slick.SlickException; 
import org.newdawn.slick.state.BasicGameState; 
import org.newdawn.slick.state.StateBasedGame; 

public class Menu extends BasicGameState{ 
public static int ID; 

public Menu(int id){ 
    ID = id; 
} 

public void init(GameContainer arg0, StateBasedGame arg1)throws SlickException { 


} 

public void render(GameContainer arg0, StateBasedGame arg1, Graphics arg2)throws SlickException { 

} 

public void update(GameContainer arg0, StateBasedGame arg1, int arg2)throws SlickException { 

} 

public int getID() { 
    return ID; 
} 

} 

내가 오류의 원인이 무엇인지 전혀 모른다 , 제안이 있으면 알려주세요. 그것이 refferenced 할 필요가있는 것과 관련이 있다면, slick.jar, lwjgl.jar, jinput.jar.

답변

0

lwjgl에 대한 라이브러리 파일이 누락되었습니다. Windows의 경우 .dll 파일이되고 Linux의 경우 .so 파일이됩니다.

lwjgl 설명서를 확인하여 빠진 내용을 확인하십시오.

+0

이미 가져온 광고는 Windows에 기본 설정되어 있습니다. –

0

OMG 잘못된 lwjgl을 다운로드했습니다. 올바른 원산지를 얻기 위해 올바른 lwjgl을 얻으려면 다시 다운로드해야했습니다. 이 작업을 수행하는 사람은 "lwjgl 소스"파일 ("lwjgl"파일) 만 다운로드하면 안됩니다.