tôi có ba lớp mà thực hiện LibGdx Screen lớp:Libgdx: nút quay lại điện thoại vẫn tiếp tục giữa màn hình
MainMenuScreen, LevelSelectScreen, GameScreen
Để bây giờ tôi đã setCatchBackKey MainMenuScreen của thiết lập để sai, vì vậy các trò chơi sẽ chỉ lối ra trên báo chí trở lại.
LevelSelectScreen và GameScreen có setCatchBackKey được đặt thành true.
Trong của GameScreen làm cho chức năng tôi có:
@Override
public void render(float delta)
{
gameTime = delta;
if (Gdx.input.isKeyPressed(Keys.BACK))
new LevelSelectScreen(game);
...
}
mà đặt màn hình để hiển thị mức độ lựa chọn và trong LevelSelectScreens của làm cho chức năng tôi có:
@Override
public void render(float delta)
{
if (Gdx.input.isKeyPressed(Keys.BACK))
new MainMenuScreen(game);
Update();
Draw();
} //end render
Vấn đề tôi gặp phải với điều này là khi tôi nhấn lại trên màn hình GameScreen, màn hình LevelSelectScreen sẽ nhấp nháy trên màn hình một lúc và sau đó quay trở lại MainMenuScreen. Tôi thấy rằng tôi có thể thiết lập một số biến để kiểm tra xem Back đã được đẩy khi màn hình khởi động, nhưng chỉ tò mò nếu có một số chức năng "ma thuật" đã được bao gồm trong LibGdx hoặc cấu trúc mã chỉ hoạt động xung quanh vấn đề này.
Cảm ơn lời khuyên, tôi sẽ xem liệu tôi có thể làm điều gì đó như thế để giải quyết vấn đề của mình hay không. – Fleck