Hallo,
Ich hab einen Player, der sich auf
einem 2Dimensionalen array bewegt.
Die Bewegung steuere ich so:
Doch der Player bewegt sich nur, wenn ich
KEY_RIGHT drücke, und dann nach rechts oben.
Alle anderen Tasten bleiben wirkungslos.
Schonmal Danke
Ich hab einen Player, der sich auf
einem 2Dimensionalen array bewegt.
Die Bewegung steuere ich so:
Java:
public void update(GameContainer container, World w) throws SlickException {
move(getDirection(container, w),w);
}
protected void move(int[] is, World w) {
try {
if(w.getWorld()[getWorldX(w)+is[0]][getWorldY(w)+is[1]] == null){
w.getWorld()[getWorldX(w)][getWorldY(w)] = null;
w.getWorld()[getWorldX(w)+is[0]][getWorldY(w)+is[1]] = this;
}
} catch (ArrayIndexOutOfBoundsException e) {}
}
protected int[] getDirection(GameContainer c, World w) {
int dx = 0;
if(c.getInput().isKeyDown(Input.KEY_LEFT))dx--;
else if(c.getInput().isKeyDown(Input.KEY_RIGHT))dx++;
int dy = 0;
try {
if(w.getWorld()[getWorldX(w)][getWorldY(w)+1] == null)dy++;
else if(c.getInput().isKeyDown(Input.KEY_SPACE))dy--;
} catch (ArrayIndexOutOfBoundsException e) {
w.getWorld()[getWorldX(w)][getWorldY(w)] = null;
}
return new int[]{dx,dy};
}
Doch der Player bewegt sich nur, wenn ich
KEY_RIGHT drücke, und dann nach rechts oben.
Alle anderen Tasten bleiben wirkungslos.
Schonmal Danke