Здравствуйте, следующий код из моего основного класса пытается вызвать другой класс i, который реализует экран.Libgdx: Проблемы с SetScreen
if (grumpface.whiteballoon.getBoundingRectangle().overlaps(spriterect)) {
System.out.println("hey");
setScreen(new GameOverScreen());
}
;
вот класс, который я называю.
class GameOverScreen implements Screen{
private Stage stage;
// Called automatically once for init objects
@Override
public void show() {
stage = new Stage();
float delta = Gdx.graphics.getDeltaTime();
stage.setDebugAll(true); // Set outlines for Stage elements for easy debug
BitmapFont white = new BitmapFont(Gdx.files.internal("hazey.fnt"), false);
LabelStyle headingStyle = new LabelStyle(white, Color.WHITE);
Label gameoverstring = new Label("game ovaaaa!", headingStyle);
gameoverstring.setPosition(100, 100);
stage.addActor(gameoverstring);
}
// Called every frame so try to put no object creation in it
@Override
public void render(float delta) {
Gdx.gl.glClearColor(0, 0, 0, 1);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
System.out.println("hey");
stage.act(delta);
stage.draw();
}
Несмотря на то, что я не возвращаю никаких ошибок стека, моя программа по-прежнему не будет переключать экран всякий раз, когда это событие выполняется. я могу сказать, что класс gameoverscreen получает вызов, потому что всякий раз, когда происходит событие, запускается System.out.println("hey");
и запускается в консоли. однако нет четкого цвета или наложения меток, как это должно быть.
посмотрите пример синтаксиса, предоставленный BadLogicGames: https://code.google.com/p/libgdx-users/wiki/ScreenAndGameClasses, поскольку я не знаю контекста вашего кода, вам нужно найти синтаксис ошибки сами. – BIW