2016-07-28 2 views
0

同じステージを使用している2つのグループmaingroupとpopupgroup(隠し - > isVisible(false))を使用してゲームにメニュー画面を表示します。 maingroupの任意のボタンがクリックされると、ポップアップグループ(isVisible(true))がステージに追加され、Imagebuttonが表示されます。libgdxで1つのグループを描画する(同じステージ)

ディスプレイ上のImageButtonを除いて、ある程度画面全体を暗くしたいと思います。また、ImageButton以外の画面上の他の場所をクリックすると、popupgroupが削除され、maingroupが最前面に移動するようにするにはどうすればよいですか?

コード..

...addListener(new InputListener() { 
      public boolean touchDown(InputEvent event, float x, float y, int pointer, int button) { 

       maingroup.setTouchable(Touchable.disabled); 
       popupgroup.setVisible(true); 
       popupgroup.setColor(1f, 1f, 1f, 0f); 
       popupgroup.addAction(Actions.fadeIn(1f)); 

       return true; 
      } 

あなたは、特定のグループまたは項目の範囲外で押したときに検出clicklistenerのようなものはありますか?

おかげで、すべての

+1

1x1ピクセルのイメージを作成し、画面全体を覆うようにイメージを引き伸ばし、必要に応じて透明/暗くします。また、クリックすると非表示にできるように、onClickイベントを追加します。 – munyul

+0

ありがとうございました。それは決して考えられませんでした。私はあなたの答えを正しいものとして選ぶことができますか? – Bmbariah

答えて

0

まず - なぜ1つの以上のステージを作成しますか?一般的なスプライトとポップアップの2つの段階がある方が簡単です。

とにかくあなたがグループのZインデックスを設定する必要があり、この暗く半透明のグループの作成についてこのtoFront()toBack()方法

//when need to show popup 
    darkenGroup.setVisible(true); 
    popupGroup.setVisible(true); 

    darkenGroup.toFront(); 
    popupGroup.toFront(); 

    //hide them by using just setVisible(false) 
    darkenGroup.setVisible(false); 
    popupGroup.setVisible(false); 

のために使用すべきは、@ munyulさんのコメントのアイデアを使用することを検討してください - 1x1pxテクスチャを維持してストレッチする - より最適化する必要があります。

関連する問題