之前从未使用过libGDX的复选框,我不知道如何以适当的方式开始实现它。
当复选框设置为true并且更改其他时,我想更改一些内容设置为false时的事情。我是否需要if (checkbox.isChecked()) {...} else{...}
处render()
?或者我需要在我的复选框中添加ChangeListener
?还是InputListener
?或者这些都没有?或所有这些? (在上一个问题中开玩笑)
答案 0 :(得分:1)
这取决于您希望复选框执行的操作。大多数情况下,您会希望使用侦听器来处理任何类型的用户输入。
例如,如果您想在选中框时向用户显示额外的表单,您只想创建/删除这些表单一次(在相应的检查/取消选中操作上)。
以下是使用复选框监听器的官方示例:
checkBox.addListener(new ChangeListener() {
@Override
public void changed (ChangeEvent event, Actor actor) {
Gdx.graphics.setContinuousRendering(checkBox.isChecked());
}
});
来源:https://github.com/libgdx/libgdx/blob/master/tests/gdx-tests/src/com/badlogic/gdx/tests/UITest.java(适用于libgdx中所有类型的UI元素)