Положение хорошо обновляется по осям X и Z.но когда я поворачиваю, он перестает работать;
https://streamable.com/2eabe
Я попытался переписать структуру, но не сработало.
private static final float RUN_SPEED = 20;
private static final float TURN_SPEED = 20;
private float currentSpeed = 0;
private float currentSidewaysSpeed = 0;
private float currentTurnSpeed = 0;
public void checkInputs(){
if(Keyboard.isKeyDown(Keyboard.KEY_W)) {
this.currentSpeed = -(RUN_SPEED);
}else if(Keyboard.isKeyDown(Keyboard.KEY_S)) {
this.currentSpeed = RUN_SPEED/2;
}else{
this.currentSpeed = 0;
}
if(Keyboard.isKeyDown(Keyboard.KEY_D)){
this.currentTurnSpeed = -TURN_SPEED;
}else if(Keyboard.isKeyDown(Keyboard.KEY_A)){
this.currentTurnSpeed = TURN_SPEED;
}else{
this.currentTurnSpeed = 0;
}
}
public void move(){
checkInputs();
float xDistance = currentSpeed * MainGameHandler.getFrameTimeSeconds();
float zDistance = currentTurnSpeed * MainGameHandler.getFrameTimeSeconds();
float distance = xDistance + zDistance;
float dx = (float) (xDistance * Math.sin(Math.toRadians(-getRotY())));
float dz = (float) (zDistance * Math.sin(Math.toRadians(-getRotY())));
System.out.println(dx + " " + dz);
increasePosition(dx, 0, dz);
}
Суппост должен был работатьв любом направлении.Я на 99,9% уверен, что мне не хватает одной или двух строк кода.Заранее спасибо за помощь