Я пытаюсь сделать ui, где пользователь может выбрать, какой элемент использовать, что-то похожее на minecraft, но я не уверен, какой виджет используется в этой игре. Я сделал несколько кнопок и добавил их в таблицу, чтобы они были выровнены. Но проблема с кнопками заключается в том, что нет способа узнать, выбран ли элемент, потому что после его нажатия он просто переходит к его оригинальному виду.Кнопки Libgdx Scene2d, как в Minecraft
btnCube = new TextButton("Cube", btnStyle);
btnCube.addListener(new ClickListener(){
@Override
public void touchUp(InputEvent event, float x, float y, int pointer, int button) {
WorldController.element = "cube";
super.touchUp(event, x, y, pointer, button);
}
});
для меня просто установить строку в определенный текст, а затем, когда игрок нажмите на экране, то она порождает этот объект, есть лучший способ сделать это? потому что я считаю, что нецелесообразно просто полагаться на строку для выбора элементов.
Это то, что я говорил о том, как вы можете увидеть красный элемент будет выделен, поскольку он выбран, а остальные нет.
Используйте ChangeListener вместо ClickListener. Используйте стиль кнопки с отмеченным Drawable, когда кнопка переключается. – Tenfour04
Я сделал то, что вы сказали, но теперь проблема заключается в том, как автоматически отключить кнопку при нажатии другой кнопки, вместо того, чтобы щелкнуть, чтобы включить, и нажмите еще раз, чтобы отключить. Что мне следует включить в changeListener? –