0
私はプレーヤークラスを持っています。それはxとyの位置がxPosとyPosで操作されていて、プレーヤーに続くカメラを作成したいと思います。Java - 自分のプレーヤーに続くカメラを作るにはどうすればいいですか? Slick2D
これまでのところ、私はこれを試してみた:
Cameraクラス:
import org.newdawn.slick.GameContainer;
public class Camera {
public int offsetMaxX;
public int offsetMaxY;
public int offsetMinX;
public int offsetMinY;
public int camX;
public int camY;
private Player player;
public Camera(Player p) {
//Setting offset max's and minimums
offsetMaxX = 0;
offsetMaxY = 0;
offsetMinX = 0;
offsetMinY = 0;
player = p;
}
public void update(GameContainer gc) {
camX = player.xPos - (gc.getWidth()/2);
camY = player.yPos - (gc.getHeight()/2);
}
}
そして、私の私のメインクラスの機能をレンダリングするには、次のとおりです。
@Override
public void render(GameContainer gc, StateBasedGame sbg, Graphics g) throws SlickException {
//Translate to camera X and Y
g.translate(-camera.camX, -camera.camY);
//Scaling map
g.scale(3, 3);
//Rendering map
try {
mapRender.render();
} catch (SlickException e1) {
e1.printStackTrace();
}
//Draw player
player1.drawPlayer(g);
}
これは動作しますが、カメラが移動プレーヤーよりも遅くなります。このコードを修正するにはどうすればよいですか、これを行うにはより良い方法がありますか?
ご協力いただきありがとうございます。