我的舞台上有多个按钮,基本上可以用作工具箱。我希望用户能够在显示的不同项目之间进行选择;因此,当用户选择一项时,必须取消选择所有其他项。

我想到了使用libGDX按钮的checked属性来执行此操作。但是,我不知道如何以编程方式取消选中一个按钮并以最简单的方式让舞台上的所有演员加入。

我不能提供代码,因为我说过,我什至不知道tp取消选中一个按钮后Google不会提供帮助。那有可能吗?如果没有,我会对其他建议感到满意。

最佳答案

看一下ButtonGroup

ButtonGroup不是演员,也没有视觉效果。将按钮添加到其中,并强制执行最小和最大数量的已选中按钮。这允许按钮(按钮,文本按钮,复选框等)用作“单选”按钮。 https://github.com/libgdx/libgdx/wiki/Scene2d.ui#wiki-ButtonGroup

也尝试看看有用的javadocs http://libgdx.badlogicgames.com/nightlies/docs/api/com/badlogic/gdx/scenes/scene2d/ui/ButtonGroup.html

基本上,您创建ButtonGroup add actor并设置应允许的最小已检查内容。

//initalize stage and all your buttons
ButtonGroup buttonGroup = new ButtonGroup(button1, button2, button3, etc...)
//next set the max and min amount to be checked
buttonGroup.setMaxCheckCount(1);
buttonGroup.setMinCheckCount(0);
//it may be useful to use this method:
setUncheckLast(true); //If true, when the maximum number of buttons are checked and an additional button is checked, the last button to be checked is unchecked so that the maximum is not exceeded.

09-28 11:38