Android 需要使用LIBGDX在菜单屏幕中添加按钮的帮助吗

Android 需要使用LIBGDX在菜单屏幕中添加按钮的帮助吗,android,libgdx,Android,Libgdx,我有3个不同的屏幕,其中包括启动屏幕,后菜单屏幕和游戏屏幕。飞溅>菜单>游戏开始 如何添加图像按钮 我想实现菜单屏幕内的3个按钮,不知道从哪里开始 public class MenuScreen implements Screen { private Spacegame game; private SpriteBatch batch; private Sprite sprite; private Texture texture; TextureRegion bg,play,spacegame

我有3个不同的屏幕,其中包括启动屏幕,后菜单屏幕和游戏屏幕。飞溅>菜单>游戏开始

如何添加图像按钮

我想实现菜单屏幕内的3个按钮,不知道从哪里开始

public class MenuScreen implements Screen {


private Spacegame game;
private SpriteBatch batch;
private Sprite sprite;
private Texture texture;
TextureRegion bg,play,spacegamelogo,button;
OrthographicCamera camera;
Vector3 touchPoint;
private Skin buttonskin;
public MenuScreen(Spacegame game)
{
    touchPoint = new Vector3();
    this.game=game;
    batch=new SpriteBatch();

    bg=AssetLoader.bg;
    spacedebrislogo=AssetLoader.spacedebrislogo;
    button=AssetLoader.button;
}
    @Override
public void show() {
    float w = Gdx.graphics.getWidth();
    float h = Gdx.graphics.getHeight();
   camera = new OrthographicCamera(1, h / w);

    sprite = new Sprite(bg);
    sprite.flip(false, true);
    sprite.setSize(1.0f,
            1.0f * sprite.getHeight() / sprite.getWidth() );
            sprite.setOrigin(sprite.getWidth() / 2,
            sprite.getHeight() / 2);
            sprite.setPosition(-sprite.getWidth() / 2,
            -sprite.getHeight() / 2);
}
@Override
public void render(float delta) {

    batch.setProjectionMatrix(camera.combined);
    batch.begin();

    sprite.draw(batch);

    batch.draw(spacedebrislogo, 33, 54, 50, 40);
    batch.end();
    if (Gdx.input.isTouched()) {

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

}

有很多方法可以做到这一点。。 我会告诉你我是怎么做的。 首先,我创建我的按钮图像,将其添加到资源文件夹并加载纹理区域。 现在我用它做了一个雪碧

Sprite button1=new Sprite(myTextureRegion);
要检查按钮是否被触摸,我可以使用精灵中的矩形来检查您是否触摸了图像。 在你的补强方法中,你会做如下的事情

if(button1.getBoundingRectangle.contains(screenX,screenY))
  // do your thing

为了让我的游戏更有趣,我喜欢在点击时添加一些旋转或缩放我的精灵,这样看起来更好,你可以玩它,或者你可以制作两种纹理,一种是触地纹理,一种是触地纹理。

你打算将Scene2D与Scene2D.ui一起使用还是创建你自己的小部件?我已经创建了screen,现在背景图片正在显示,上面我想添加播放按钮。什么是Scene2d?Scene2d是LibGDX的场景图。如果您使用LibGDX提供的“场景”来显示内容,那么您可以使用由场景管理的作为“参与者”的小部件。但是,如果您不想求助于Scene2D,则需要创建自己的按钮。我在这里发布了我的按钮实现:智能。问题是,你把文字写在纹理上了吗?是的。使用inkscape,非常容易使用,效果非常好。我不建议对按钮使用纹理,对单独的按钮使用文本。。这太难了,看起来也不太好。设计你自己的按钮,有很多教程:)你根据屏幕大小加载不同的纹理吗?我个人刚刚使用了Ortho2D变换,但这有它的问题。我的游戏固定分辨率是800x480。我为SD、MD、HD、XHD图形提供资产。我根据MD资源上的纹理大小设置精灵大小。实际上,我只为XHD制作图形,并使用我的程序将其缩小到其他分辨率。不管怎样,像800x480这样的固定分辨率和图形大小的手机在90%的手机上都能正常工作。。我想你需要高清平板电脑