Ich versuche, die Anzahl der Anrufe zu reduzieren, jedes Mal, wenn ein Bildschirm an meinem Spiel aufgerufen wird, um mein Spiel schneller zu machen, und ich bemerkte, dass ich die gleiche Berechnung auf jedem Bildschirm..how kann ich das vermeiden?Libgdx Reduzieren von Anrufen und optimieren das Spiel
Ich tue dies in praktisch jedem Bildschirm
public class ****Screen implements Screen {
@Override
public void show() {
float screenWidth = Gdx.graphics.getWidth();
float screenHeight = Gdx.graphics.getHeight();
float gameWidth = 360;
float gameHeight = screenHeight/(screenWidth/gameWidth);
midPointY = (int) (gameHeight/2);
cam = new OrthographicCamera();
cam.setToOrtho(true, gameWidth, gameHeight);
viewport = new FitViewport(gameWidth, gameHeight, cam);
viewport.apply();
stage = new Stage(viewport);
Gdx.input.setInputProcessor(stage);
noch habe ich eine GameClass..How kann ich die oben in meinem gameclass implementieren (siehe unten) und nur nennen es einmal müssen? ...
public class Start extends Game {
@Override
public void create() {
float screenWidth = Gdx.graphics.getWidth();
float screenHeight = Gdx.graphics.getHeight();
float gameWidth = 360;
float gameHeight = screenHeight/(screenWidth/gameWidth);
assets = new AssetLoader();
assetManager = new AssetManager();
camera = new OrthographicCamera();
camera.setToOrtho(true, gameWidth, gameHeight);
//initialize screens here
mainMenu = new MenuScreen(this);
loadingScreen = new LoadingScreen(this);
gameScreen = new GameScreen(this);
.......
//call assets
AssetLoader.load();
//start mainmenu...
this.setScreen(mainMenu);
}
Danke ..Es stellte sich heraus, dass ich die ganze Spielklasse die ganze Zeit anrief und nie daran dachte, die Bildschirmbreite und Bildschirmhöhe dort zu implementieren. – Bmbariah