Изменение размера TextButton LibGDX - PullRequest
0 голосов
/ 23 апреля 2019

Я немного новичок в LibGDX.Я просто изучаю веревки.Попытка получить базовую TextButton для отображения в разумных размерах на экране.Работает исключительно на Android IDE (AIDE).Используя только скины по умолчанию и что-нет, я попытался установить ширину и высоту, а также setScale (), но, похоже, по команде увеличивается только размер текста.Что я делаю не так?

https://oi1161.photobucket.com/albums/q501/StudioGilliam/Screenshot_20190423-184819_LibGDXButtonsTest.jpg

public class MyGdxGame implements ApplicationListener
{
   private Stage stage;
   private Table table;
   private TextButton btn;

   @Override
   public void create()
   {
      stage = new Stage(new ScreenViewport());
      Gdx.input.setInputProcessor(stage);

      table = new Table();
      table.setBounds(0, 0, Gdx.graphics.getWidth(), Gdx.graphics.getHeight());

      TextButton.TextButtonStyle style = new TextButton.TextButtonStyle();
      style.font = new BitmapFont();

      btn = new TextButton("Button", style);
      btn.pad(20);
      btn.setTransform(true);
      btn.setScale(5.0f);
      btn.setTouchable(Touchable.enabled);

      table.add(btn);
      table.debug();

      stage.addActor(table);

   }

   @Override
   public void render()
   {        
    Gdx.gl.glClearColor(0, 1, 1, 1);
        Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);

      stage.act();
      stage.draw();
   }

   @Override
   public void dispose()
   {
      stage.dispose();
   }

   @Override
   public void resize(int width, int height){}

   @Override
   public void pause(){}

   @Override
   public void resume(){}
}

РЕДАКТИРОВАТЬ: я понял, что родительские объекты, такие как этапы и таблицы, управляют свойствами своих потомков, поэтому я добавил:

table.add(btn).width(300).height(100);

И теперь это выглядит лучше, но текст далеко от центра ...

https://oi1161.photobucket.com/albums/q501/StudioGilliam/Screenshot_20190423-191104_LibGDXButtonsTest.jpg

1 Ответ

0 голосов
/ 25 апреля 2019

В Textbutton вы должны использовать setFontScale () и pack (), чтобы изменить размер кнопки до размера шрифта.

Однако, для поддержки разных размеров экрана без какой-либо собственной кодировки, рассмотрите возможность использования FitViewport/ ExtendViewport

...