Grüße!
Vor kurzem habe ich angefangen, mich in Slick2D einzuarbeiten. Ich habe eine Animation, bestehend aus 4 einzelnen Bildern erstellt und kann diese auf dem Frame abspielen lassen. So weit so gut. Nun möchte ich noch Tastatur-Input einbauen, um die Animation mit den WASD Tasten auf dem Frame zu verschieben. Leider bewegt sich die Animation nicht, obwohl ich ein Input-Objekt mit entsprechenden if-Abfragen erzeugt habe. Vielleicht könntet ihr mir ja helfen, den Fehler zu finden?
Schon einmal danke für eure Hilfe
Vor kurzem habe ich angefangen, mich in Slick2D einzuarbeiten. Ich habe eine Animation, bestehend aus 4 einzelnen Bildern erstellt und kann diese auf dem Frame abspielen lassen. So weit so gut. Nun möchte ich noch Tastatur-Input einbauen, um die Animation mit den WASD Tasten auf dem Frame zu verschieben. Leider bewegt sich die Animation nicht, obwohl ich ein Input-Objekt mit entsprechenden if-Abfragen erzeugt habe. Vielleicht könntet ihr mir ja helfen, den Fehler zu finden?
Java:
import org.newdawn.slick.Animation;
import org.newdawn.slick.AppGameContainer;
import org.newdawn.slick.BasicGame;
import org.newdawn.slick.GameContainer;
import org.newdawn.slick.Graphics;
import org.newdawn.slick.Input;
import org.newdawn.slick.SlickException;
import org.newdawn.slick.Image;
public class TestMain extends BasicGame{
Input in;
int x = 50;
int y = 50;
Image [] images = new Image [4];
Animation anim;
public TestMain(String title) {
super(title);
}
@Override
public void init(GameContainer gC) throws SlickException {
in = gC.getInput();
images[0] = new Image("Images/walk.png");
images[1] = new Image("Images/walk2.png");
images[2] = new Image("Images/walk3.png");
images[3] = new Image("Images/walk4.png");
anim = new Animation(images,150);
}
public void update(GameContainer gC, int ar) throws SlickException {
if (in.isKeyPressed(in.KEY_W)); {
y -= 3;
}
if (in.isKeyPressed(in.KEY_S)); {
y += 3;
}
if (in.isKeyPressed(in.KEY_A)); {
x -= 3;
}
if (in.isKeyPressed(in.KEY_D)); {
x += 3;
}
}
@Override
public void render(GameContainer gC, Graphics g) throws SlickException {
g.fillRect(0, 0, gC.getWidth(), gC.getHeight());
g.drawAnimation(anim, x, y);
}
public static void main (String [] args) throws SlickException {
try {
AppGameContainer app = new AppGameContainer(new TestMain("asdasd"));
app.setDisplayMode(800, 600, false);
app.setVSync(true);
app.setTargetFrameRate(60);
app.start();
} catch (SlickException e) {}
}
}
Schon einmal danke für eure Hilfe