我在Project的播放屏幕中创建了一个组。该组包含许多图像和按钮作为演员。
Group newGroup = new Group();
在show()里面
newGroup.addActor(bg);
stage.addActor(newGroup);
这很有效。但是我想在组中添加更多东西。我还需要创建更多的组。所以我认为我可以创建扩展组的新类。实际上我想用模块化的方式来创建这些组。
public class newGroup extends Group {
//want to add actors here-buttons,images and other scene2d elements
}
public class actor extends Actor{
}
我有这样的想法,但我不知道如何有效地做到这一点,以便我可以移动和缩放组项目并在播放屏幕中访问。 请告诉我如何在LibGdx中正确扩展组并在播放屏幕中访问它。
答案 0 :(得分:0)
因此,您需要执行与示例相同的操作,但需要执行扩展类。也许我的简短例子会帮助你。
以下示例中有SKIN变量。我还没有展示如何加载皮肤。阅读有关Scene2D.ui的内容,了解SKIN的含义。
第一个例子(没有扩展):
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);