2016-06-10 3 views
1

У меня есть одна проблема с LibGdx. У меня есть класс «MainGameScreen» и класс Window (класс 2). У меня есть «TextButton» в моем окне. Каков наилучший способ закрыть окно при нажатии кнопки? Благодаря !LibGdx закрыть окно

+1

Что вы сделали до сих пор? –

ответ

2

Что вы хотите сделать, это добавить ChangeListener к кнопке, которая закрывает окно всякий раз, когда нажимается кнопка.

Вот небольшая демонстрация того, как вы могли бы сделать это:

// The window has to be final to be accessible from our listener. 
final Window window = new Window("Title", skin); 

// Create our button. 
TextButton button = new TextButton("Press me to close window!", skin); 

// Here we add a click listener to our button. 
button.addListener (new ChangeListener() { 
    // This method is called whenever the actor is clicked. We override its behavior here. 
    @Override 
    public void changed(ChangeEvent event, Actor actor) { 
     // This is where we remove the window. 
     window.remove(); 
    } 
}); 

// Add the button to our window. 
window.add(button); 

// Add the window to our stage. 
stage.addActor(window); 
+1

Это не лучшая практика. Я настоятельно рекомендую использовать ClickListener, потому что нужно нажать кнопку. Если вы так не думаете, может быть запущен Changelistener. – Keey

+0

Фактически @Keey ошибается в этом, 'ChangeListener' - лучшая практика для обработки щелчков кнопок - https://github.com/libgdx/libgdx/wiki/Scene2d.ui#changeevents – Metaphore

Смежные вопросы