Libgdx - 将舞台添加到屏幕结构

时间:2014-03-17 16:49:56

标签: java android screen libgdx stage

我一直在浏览Libgdx的各种教程和介绍。非常满意在Studio中编写应用程序,但现在分支到Eclipse和Libgdx用于图形/游戏。

我使用过本教程: https://github.com/libgdx/libgdx/wiki/Extending-the-simple-game

..并且已经移除了雨滴/水桶,然后使用简单的矢量数学包括在屏幕上弹跳的100个球。

我已经应用了一些手势,例如缩放(有限制),平移和旋转。但是,后者设置为 If Gdx.input.getX()< 100然后RotateLeft ,反之亦然如果Gdx.input.getX()> 700则RotateRight [Pseudo]。我想在屏幕上添加一个按钮(现在任何png都足够了),如果触摸与图像重叠,则执行操作。但是,如果屏幕旋转,图像随屏幕一起旋转,当我希望它相对于相机静止时。

我知道我需要取消不同的协调员来实现这一目标,但我听说过一种更简单的方法就是使用 Scene2D 来处理相位按钮时使用Stages和Actors进行重组。等

从上面的教程中,将其更改为包含阶段和演员是否很简单,还是需要完整的重组?我想在朝着错误的路线走得太远之前,先从正确的方向开始。

目前我的结构是:

启动

public class MyGame extends Game {

...

public void create() {
    ...
    this.setScreen(new ScreenMainMenu(this));
}

....

}

屏幕:主菜单

public class ScreenMainMenu implements Screen {

final MyGame game;

OrthographicCamera camera;

//Screen doesn't use create() method so use a constructor
public ScreenMainMenu(final MyGame gam) {
    game = gam;

    camera = new OrthographicCamera();
    camera.setToOrtho(false, 800, 480);

}

@Override
public void render(float delta) {
....

    if (Gdx.input.isTouched()) {

        game.setScreen(new ScreenGame(game));
        dispose();
    }


}

屏幕:详细的游戏代码

public class ScreenGame  implements Screen, GestureListener {
....
}

非常感谢。

1 个答案:

答案 0 :(得分:0)

将其更改为包含阶段和演员

很简单

我建议您按照一些教程进行操作。如果不使用演员和舞台,你会从libgdx中遗漏很多东西。 Libgdx严重依赖它们,因此使用高级功能需要您使用它们。所以最好先学习它。并且它并不困难。

祝你好运。