2017-03-03 17 views
0

私のLibGdxゲームでは、一時停止機能を作成しました。ゲーム中に、一時停止ボタンを押すと、再開ボタン付きの別の画面が表示されます。再生画面上のレイヤーとしての描画一時停止画面-LibGdx

実際にやりたいことは、一時停止画面がレイヤーのようにゲームプレイ画面の上に表示されることです。以下のゲームのスクリーンショットのよう

:私は別のBGとすべてと私のゲームの新しい一時停止画面を作ることができ

enter image description here

。 一時停止したままのゲームをそのまま表示したいと思います。私は再開ボタン、ボックスなどのグラフィックスをスクリーンショットのように描くことができます。

どのようにこのレイヤーを一時停止画面のように表示できますか?

+0

答えが分かりにくいため、私はあなたの質問を理解していません。あなたのゲームを描き、次にUIを描画します。それらは同じスクリーンの一部です。 – Tenfour04

+0

私の場合は、別の画面をポーズのために使用しています。別の画面のみで描画しているときに表示のようにレイヤーを作成したいのですが、それをやってみると、ポーズUIの周りに黒い背景が表示されます。それは何の問題ですか。要するに、私はポップアップのような一時停止画面を表示したい。 – Niranjana

+0

@Niranjanaあなたのプレイページにscene2dを使用していますか?それともGameScreenできますか? – Aryan

答えて

2

ゲーム画面内では、UI(ボタンをナビゲートするためのステージ)を使用しています。私はあなたがこのようにしていると確信しています。

private uiStage; 
private boolean isPause; 
private Group pauseGroup; 

public void render(){ 

    if(!isPause) UpdateGame();  
    DrawGame();   

    uiStage.act(); 
    uiStage.draw(); 
} 

ゲームを一時停止し、ゲームを再開するときにそのグループを削除するときはいつでも、グループを作成します。グループを一度作成して、show()メソッドにすべての一時停止UIを追加することもできます。一時停止を表示してゲームを再開するときに削除する場合は、そのグループをステージに追加します。

+0

一時停止のために別の画面を使用する必要はありません。ゲームの状態が一時停止している間は、グループを作成して表示できます。そうですか? – Niranjana

+0

@Niranjana一度に1つの画面しか設定できません(画面はGameクラスのデータメンバーです)。 pauseGroupは私の提案では良いオプションです。 – Aryan

+1

それは働いた。たくさんありがとう! – Niranjana

0

短い答え:はい、できます。 まず、一時停止画面をScreenクラスではなくStageクラスに拡張します。次に、ゲームのドロー後に一時停止画面の描画を呼び出すとしてください。このようなもの:

public void render(){ 
    UpdateGame(); 
    pause_screen.act(); 

    DrawGame(); 
    pause_screen.draw(); 
} 

一時停止画面が開いているときにゲームの更新を停止します。 もちろんこれは単純化されていますが、あなたはそれを見ることができます。

関連する問題