2017-03-10 4 views
0

プロジェクトの再生画面にグループを作成しました。このグループには、アクターとしての多数の画像とボタンが含まれています。番組内のLibGdxでグループを拡張

Group newGroup = new Group(); 

()

newGroup.addActor(bg); 
stage.addActor(newGroup); 

これは私がgroup.Alsoに多くのものを追加したいwell.But私は私ができると思いますalso.Soさらにいくつかのグループを作成する必要があります動作しますグループを拡張する新しいクラスを作成します。実際に私はこれらのグループを作成するためにモジュール方式を使いたいと思っています。

public class newGroup extends Group { 
//want to add actors here-buttons,images and other scene2d elements 
} 

public class actor extends Actor{ 

} 

は私が行うには心の中でこのようなものを持っているが、私は移動して、プレイ画面でのグループ項目とアクセスを拡張できるように、私は、これを効果的に行う方法を知りません。 LibGdxでグループを適切に拡張してプレイ画面でアクセスする方法を教えてください。

答えて

0

したがって、あなたの例と同じことをする必要がありますが、あなたの拡張クラスを行います。たぶん私の短い例があなたを助けるでしょう。

以下の例では、SKIN変数があります。私はどのように皮膚をロードするかを示していない。 SKINの意味を理解するためにScene2D.uiについて読んでください。 (なしが延びて)

まず例:

Group group = new Group(); 
TextButton b = new TextButton(SKIN, "Press Me"); 
Label l = new Label(SKIN, "Some text"); 
b.setPosition(0, 0); //in groups coordinates 
l.setPosition(0, 100); 
group.addActor(l); 
group.addActor(b); 

stage.addActor(group); 

あなたが延びる同じ操作を行うことができます。

public class MyGroup extends Group { 
    private TextButton b; 
    private Label l; 

    public MyGroup() { 
      b = new TextButton(SKIN, "Press me"); 
      l = new Label(SKIN, "Some text"); 
      b.setPosition(0, 0); //in coordinates of group 
      l.setPosition(0, 100); 
      //now we will add button and label to the our extended group. 
      this.addActor(b); 
      this.addActor(l); 
      //"this" is unnecessary. I write this because it 
      //may be more clear for you to understand the code. 
      //"this" is our extended group and we add actors to it. 
    } 

} 

だから、今、あなたは私たちの新しいグループを作成し、ステージに追加することができます:

MyGroup myGroup = new MyGroup(); 
myGroup.setPosition(200, 200); //also in `stage` coords. 
stage.addActor(myGroup); 
関連する問題