0
public class MenuState extends State {
private OrthographicCamera camera;
private Viewport viewport;
private MenuButtons playButton;
public MenuState(GameStateManager gsm, int tryscore, AssetsClass assetsClass, PreferencesHelper preferencesHelper) {
super(gsm);
camera = new OrthographicCamera();
viewport = new FitViewport(ButtonCrash.V_WIDTH, ButtonCrash.V_HEIGHT, camera);
viewport.apply();
playButton = new MenuButtons(assetsClass.getManager().get("mainmenu/button_play.png", Texture.class), 1);
playButton.getButton().setSize(200, 200);
playButton.getButton().setPosition(-100, -100);
}
@Override
protected void handlingInput() {
}
@Override
public void update(float delta) {
camera.update();
}
@Override
public void render(SpriteBatch sb) {
sb.setProjectionMatrix(camera.combined);
sb.begin();
playButton.getButton().draw(sb);
sb.end();
}
@Override
public void dispose() {
}
画面を実装し、ほかのカメラは素晴らしい動作しますが、ビューポートがないではない、それはです!
私は実際に私も、コンストラクタにしようとしたコードについてすべてコピー:
viewport.update(Gdx.graphics.getWidth(), Gdx.graphics.getHeight());
をしかし、それは、私は、コードが動作しない画面を実装しておりませんので、などのようです。ゲームとスクリーンのインターフェースを使わずに自分のゲームを作りましたが、自分のStateクラスを作りました。ここで何が問題だろうか?
LibGdxが素晴らしいものであるときに独自の状態クラスを作った特別な理由はありますか? –
resizeメソッドでviewport.updateを呼び出すようにしてください。あなたのStateクラスが必要とするように見えます。 – Tenfour04
'resize()'メソッドが実装されていますか? –