如何在 LibGDX Scene2D 中为 CheckBox 正确创建鼠标监听器?
How to properly create a mouse Listener for CheckBox in LibGDX Scene2D?
我已经在线搜索了几个小时,我是 LibGDX 游戏开发的新手。
这个 link 很有用,但我仍然无法使我的 CheckBox 工作。
How to properly implement CheckBox in LibGDX
我正在使用 LibGDX,我必须在我的菜单中实现两个单选按钮。
我创建了两个 CheckBox 并为它们指定了样式。
check_style = new CheckBox.CheckBoxStyle();
check_style.font = font;
check_style.fontColor = new Color(Color.WHITE);
check_style.checkboxOff = check_skin.getDrawable("checkbox");
check_style.checkboxOn = check_skin.getDrawable("checkbox2");
check_style.checked = check_skin.getDrawable("checkbox2");
我还添加了一个侦听器来通知鼠标点击
controls1Check.addListener(new InputListener() {
public void touchUp (InputEvent event, float x, float y, int pointer, int button) {
controls1Check.toggle();
System.out.println("toggle");
}
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
System.out.println("Controls1: " + controls1Check.isChecked());
return true;
};
});
当我 运行 我的程序不响应任何鼠标点击。
我该如何解决这个问题?
谢谢!
我猜你要把你的 CheckBox
添加到 Stage
?如果是这样,我唯一的想法是也许你没有调用 Gdx.input.setInputProcessor(yourStage);
所以即使你的 CheckBoxes 有 InputListeners,输入实际上没有被处理。
我已经在线搜索了几个小时,我是 LibGDX 游戏开发的新手。 这个 link 很有用,但我仍然无法使我的 CheckBox 工作。 How to properly implement CheckBox in LibGDX
我正在使用 LibGDX,我必须在我的菜单中实现两个单选按钮。
我创建了两个 CheckBox 并为它们指定了样式。
check_style = new CheckBox.CheckBoxStyle();
check_style.font = font;
check_style.fontColor = new Color(Color.WHITE);
check_style.checkboxOff = check_skin.getDrawable("checkbox");
check_style.checkboxOn = check_skin.getDrawable("checkbox2");
check_style.checked = check_skin.getDrawable("checkbox2");
我还添加了一个侦听器来通知鼠标点击
controls1Check.addListener(new InputListener() {
public void touchUp (InputEvent event, float x, float y, int pointer, int button) {
controls1Check.toggle();
System.out.println("toggle");
}
public boolean touchDown (InputEvent event, float x, float y, int pointer, int button) {
System.out.println("Controls1: " + controls1Check.isChecked());
return true;
};
});
当我 运行 我的程序不响应任何鼠标点击。 我该如何解决这个问题?
谢谢!
我猜你要把你的 CheckBox
添加到 Stage
?如果是这样,我唯一的想法是也许你没有调用 Gdx.input.setInputProcessor(yourStage);
所以即使你的 CheckBoxes 有 InputListeners,输入实际上没有被处理。