여기에 설명 된 기본 Slick 게임 예제를 빌드 중입니다 : http://slick.cokeandcode.com/wiki/doku.php?id=01_-_a_basic_slick_game, 일부 문제가 있습니다. 특히, 게임은 잘 컴파일,하지만 난 그것을 실행하려고하면, 자바는 불평 :스레드 "main"의 예외 java.lang.UnsatisfiedLinkError : java.library.path의 lwjgl이 없습니다.
Exception in thread "main" java.lang.UnsatisfiedLinkError: no lwjgl in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1856)
at java.lang.Runtime.loadLibrary0(Runtime.java:845)
at java.lang.System.loadLibrary(System.java:1084)
at org.lwjgl.Sys$1.run(Sys.java:75)
at java.security.AccessController.doPrivileged(Native Method)
at org.lwjgl.Sys.doLoadLibrary(Sys.java:68)
at org.lwjgl.Sys.loadLibrary(Sys.java:84)
at org.lwjgl.Sys.<clinit>(Sys.java:101)
at org.lwjgl.opengl.Display.<clinit>(Display.java:128)
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 SlickBasicGame.main(SlickBasicGame.java:79)
이 내 소스 코드 :
import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.BasicGame;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Image;
import org.newdawn.slick.Input;
import org.newdawn.slick.SlickException;
public class SlickBasicGame extends BasicGame{
Image plane = null;
Image land = null;
float x = 400;
float y = 300;
float scale = 1;
public SlickBasicGame()
{
super("Slick2D Path2Glory - SlickBasicGame");
}
@Override
public void init(GameContainer gc)
throws SlickException {
plane = new Image("data/plane.png");
land = new Image("data/land.jpg");
}
@Override
public void update(GameContainer gc, int delta)
throws SlickException
{
Input input = gc.getInput();
if(input.isKeyDown(Input.KEY_A))
{
plane.rotate(-0.2f * delta);
}
if(input.isKeyDown(Input.KEY_D))
{
plane.rotate(0.2f * delta);
}
if(input.isKeyDown(Input.KEY_W))
{
float hip = 0.4f * delta;
float rotation = plane.getRotation();
x+= hip * Math.sin(Math.toRadians(rotation));
y-= hip * Math.cos(Math.toRadians(rotation));
}
if(input.isKeyDown(Input.KEY_2))
{
scale += (scale >= 5.0f) ? 0 : 0.1f;
plane.setCenterOfRotation(plane.getWidth()/2.0f*scale, plane.getHeight()/2.0f*scale);
}
if(input.isKeyDown(Input.KEY_1))
{
scale -= (scale <= 1.0f) ? 0 : 0.1f;
plane.setCenterOfRotation(plane.getWidth()/2.0f*scale, plane.getHeight()/2.0f*scale);
}
}
public void render(GameContainer gc, Graphics g)
throws SlickException
{
land.draw(0, 0);
plane.draw(x, y, scale);
}
public static void main(String[] args)
throws SlickException
{
AppGameContainer app =
new AppGameContainer(new SlickBasicGame());
app.setDisplayMode(800, 600, false);
app.start();
}
}
나는 원래했습니다 유일한 변화 (어떤 동일한 오류를보고합니다) 패키지 선언을 제거했습니다. 링크 "전체 배포를 다운로드"를 클릭하여, http://slick.cokeandcode.com/, 여기처럼 내 슬릭 폴더 보이는 방법은 다음과 같습니다 :
는 여기에서 슬릭 다운로드 내가이 명령을 사용하여 게임을 컴파일하고있어
:
javac -cp lib/*:. SlickBasicGame.java
그리고이 하나를 실행하려고 :
java -cp lib/*:. SlickBasicGame
경로/to/dir은 lwjgl 라이브러리의 .dll 라이브러리 (예 : % lwjgl_dir % \ native \ windows)를 가리켜 야합니다. – Chechulin