在libgdx中如何顯示暫停屏幕,當用戶點擊暫停時,它應該是當前屏幕上的層,它應該關閉屏幕時,用戶點擊恢復我怎麼能在libgdx中實現它。libgdx遊戲當用戶點擊暫停圖標時如何顯示暫停屏幕
1
A
回答
4
我不喜歡在這裏使用原生Android View的建議,這可以在libgdx本身內部整齊地完成。
我會有一些變量來定義遊戲的當前狀態。如果按下暫停按鈕,或者遊戲被android暫停(例如,如果用戶按下home按鈕),則該變量應該獲得暫停值。 然後在render()方法中,如果此變量具有暫停值,則繪製一些暫停屏幕。
此屏幕可以用多種方式繪製。如果您使用的是舞臺,你有兩個偉大的選擇:
如果停下來,除了遊戲階段,繪製暫停項目聖人繪製的遊戲階段之後。然後它會在遊戲之上。
您可以創建一些窗口actor,並向其添加暫停項目。然後當遊戲暫停時,將其添加/使其在舞臺中可見。
一些示例代碼:
public class GameScreen implements Screen {
private Stage mystage;
public static final int GAME_RUNNING = 0;
public static final int GAME_PAUSED = 0;
private int gamestatus;
// ...
public void render(float deltaTime) {
// draw game normally, probably shouldn't update positions etc. if
// the game is paused..
if (pausebutton is pressed) {
pauseGame();
}
if (gamestatus == GAME_PAUSED) {
// draw pause screen
}
}
public void pauseGame() {
gamestatus = GAME_PAUSED;
}
// this is called by android
public void pause() {
pauseGame();
}
}
不是完全工作的例子,但示出的基本邏輯。
1
聲明它
public static final int GAME_READY = 0;
public static final int GAME_RUNNING = 1;
public static final int GAME_PAUSED = 2;
public static final int GAME_OVER = 4;
public static int state;
和更新方法
switch (state) {
case GAME_READY:
updateReady();
break;
case GAME_RUNNING:
updateRunning(delta);
break;
case GAME_PAUSED:
updatePaused();
break;
case GAME_OVER:
gameOver = true;
updateGameOver();
break;
}
這一定會幫助你。
1
boolean GAME_PAUSED = false;
if (GAME_PAUSED) {
//Do not update camera
batch.begin();
resumeButton.draw(batch);
batch.end();
} else {
//Update Camera
Gdx.gl.glClearColor(0.0f, 0.0f, 0.0f, 0.0f);
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
world.step(1/60f, 8, 3);
camera.update();
debugRenderer.render(world, camera.combined);
//Do your game running
}
相關問題
- 1. Libgdx屏幕gui(用於暫停按鈕)
- 2. 如何讓屏幕暫停?
- 3. Android:如何實現按鈕「遊戲暫停」屏幕
- 4. 當屏幕鎖定時,Mp3已暫停
- 5. scoreLabel.text使得遊戲暫停
- 6. clearInterval和暫停遊戲
- 7. Flash - 暫停遊戲ActionScript 3
- 8. 暫停遊戲循環?
- 9. 如何在cocos2d中暫停遊戲?
- 10. Spritekit - 保持遊戲暫停時didBecomeActive
- 11. 如何在LibGDX暫停定時器delaySeconds
- 12. 如何在單擊/觸摸屏幕時暫停MediaElement - UWP
- 13. 當屏幕關閉時,Internet連接顯然暫停
- 14. 繪製暫停屏幕作爲播放屏幕上的圖層 - LibGdx
- 15. 當應用程序暫停時在主屏幕上顯示對話框
- 16. 的cocos2d的Android不暫停遊戲
- 17. 遊戲c的暫停按鈕#
- 18. 在通話過程中暫停遊戲
- 19. 遊戲暫停/恢復功能
- 20. 暫停Unity遊戲沒有「Time.timeScale = 0」
- 21. 球拍暫停/繼續按鈕,遊戲
- 22. 在流水遊戲提示點上暫停視頻
- 23. 如何在使用javascript點擊新標籤時暫停視頻?
- 24. 在遊戲中暫停以顯示分數
- 25. 遊戲計時器(開始,暫停,停止)
- 26. 當比賽處於暫停狀態,LibGdx
- 27. 當主頁按鈕被按下時暫停遊戲sdk
- 28. 在libgdx中暫停TimeUtils
- 29. Libgdx:暫停不觸發justtouch
- 30. libgdx上的菜單或暫停屏幕之間的變化
你應該使用一個'enum'代替,就像這樣: '公共枚舉遊戲狀態{ 就緒,正在運行,暫停,GAMEOVER }' '公共遊戲狀態狀態= GameState.READY;' – vurp0 2014-02-01 18:35:18