Ошибка отрисовки кнопки LibGDX

221
14 ноября 2017, 22:55

По видеоурокам пытаюсь научиться создавать кнопки ,но постоянно вылетает ошибка java.lang.IllegalArgumentException: style cannot be null.

вот код Кнопки

public class GameButton extends Stage {
public GameButton(){
    super(new FitViewport(20, 40));
    try {
        Button p = new Button(Resyrsi.sButtonStyle);
        p.setBounds(20, 20, 2, 2);
        addActor(p);
    }catch (Exception e){
        System.out.println(e.toString());
    }
}

Код стиля для кнопки

public class Resyrsi {
public static Button.ButtonStyle sButtonStyle ;
public static Skin skin;
public static void load(){
    skin = new Skin();
    skin.addRegions(new TextureAtlas(Gdx.files.internal("fsdgfd.atlas")));
    sButtonStyle = new Button.ButtonStyle();
    sButtonStyle.up = skin.getDrawable("start");
}

и вот так пытаюсь нарисовать но никак не получается

GameButton mGameButton;
public MyGdxGame(final Main main) {
    mGameButton = new GameButton();
    batch = new SpriteBatch();
    mStage = new Stage(new ScreenViewport());
}
public void render(float delta) {
    Gdx.gl.glClearColor(0, 0, 1, 1);
    Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
    batch.begin();
    font.draw(batch , "Hеlloy" , 300 , 300);
    batch.end();
    mStage.act(delta);
    mStage.draw();
    mGameButton.act(delta);
    mGameButton.draw();
}
Answer 1

Так вы же не вызываете инициализацию кнопки sButtonStyle и сразу передаете её, когда она null.

public class GameButton extends Stage {
public GameButton(){
    super(new FitViewport(20, 40));
    Resyrsi.load(); // Вот это добавьте в код
    try {
        Button p = new Button(Resyrsi.sButtonStyle);
        p.setBounds(20, 20, 2, 2);
        addActor(p);
    }catch (Exception e){
        System.out.println(e.toString());
    }
}
READ ALSO
Java Sping Data ленивая инициализация

Java Sping Data ленивая инициализация

Есть приложение, в котором используется Spring Data, соответственно, имеются интерфейсы с аннотацией репозиторий, сервисы, их имплементирующие,...

216
MultitouchWithDynamicAddandRemove

MultitouchWithDynamicAddandRemove

Доброго времени суток,хотелось бы реализовать мультитач,вставку image_view в приложении нашел вот эту библиотеку : https://githubcom/siddhpuraamitr/MultitouchWithDynamicAddandRemove...

208
В чем разница между Thread и Runnable?

В чем разница между Thread и Runnable?

В чем разница между Thread и Thread (Runnable)?

295