-2
私はJavaでサイドスクロールゲームを作成しています。私のカメラはうまく動作しますが、カメラを水平の端に固定します。私は正しい側が正しく働いていますが、左(始まり)側はどうですか?レベルジャンパーの端までカメラをクランプ
コード:
Camera.java
public class Camera {
private float x, y;
public Camera(int x, int y) {
super();
this.x = x;
this.y = y;
}
public float getX() {
return x;
}
public void setX(float x) {
this.x = x;
}
public float getY() {
return y;
}
public void setY(float y) {
this.y = y;
}
public void tick (GameObject player) {
if (player.getX() + (Reference.WIDTH/2 - 8) > Martian_Run.getMartianRun().getLm().getWidthOfCurrentLevel()) return;
float targetX = -player.getX() + Reference.WIDTH/2 + 16;
float targetY = -player.getY() + Reference.HEIGHT/2 + 64;
float x = getX();
float y = getY();
setX((int) (x + (targetX - x) * 0.1));
setY((int) (y + (targetY - y) * 0.1));
}
}
Martian_Run.getMartianRun().getLm().getWidthOfCurrentLevel()
// Gives the width of the current level
Reference.WIDTH
// Width of the window