2013-06-24 62 views
0

我正在製作一款使用Libgdx框架的賽車遊戲,當遊戲結束時,屏幕上會出現遊戲重試按鈕,並通過點擊該按鈕進入遊戲屏幕,我想在其中重新開始遊戲,但不玩遊戲在遊戲結束時顯示的屏幕是最後一次。如何在遊戲結束後直接在libgdx上玩遊戲畫面?

private void updateGameOver() { 

    if(Gdx.input.justTouched()){ 
     guiCam.unproject(touchPoint.set(Gdx.input.getX(), Gdx.input.getY(), 0)); 
     if(OverlapTester.pointInRectangle(resumeButtonBounds, touchPoint.x, touchPoint.y)){ 
      state = GAME_RUNNING; 
      return; 
     } 

}

} 
private void presentGameOver() { 

    spriteBatch.draw(Assets.retryButtonRegion, 480/2 - 183/2, 800/2 - 185, 183, 90); 


} 

回答

1

當您將狀態設置爲運行所有遊戲元素(例如汽車)的實例時,您的情況不會重置。

你需要打電話給你的遊戲畫面

private void updateGameOver() { 
if(Gdx.input.justTouched()){ 
    guiCam.unproject(touchPoint.set(Gdx.input.getX(), Gdx.input.getY(), 0)); 
    if(OverlapTester.pointInRectangle(resumeButtonBounds, touchPoint.x, touchPoint.y)){ 
     game.setscreen(new GameScreen(game,batcher)); 
     return; 
    } 

這應該解決您的問題的構造。

+0

感謝庫馬爾Saurabh您的答覆。根據你我已經改變了我的代碼和它的工作。 –

0

添加Clicklistener到按鈕,實現你的方法有。看看Sceen2D wiki
否則檢查你是否有價值。因此,在您的If語句中添加一個記錄器,並檢查是否有日誌。 (Gdx.app.log("","")

+0

嘿謝謝你的回答,但我已經解決了我的問題。 –