如何在libgdx中禁用按钮

时间:2016-07-03 10:45:19

标签: libgdx imagebutton

我有一个图像按钮,我希望在程序启动时被禁用,在某些条件下,需要启用它。

这是我的代码,

public Screen( )    //constructor
{
  ImageButton hints;
  ImageButton.ImageButtonStyle hintsstyle = new ImageButton.ImageButtonStyle();
    hintsstyle.up = skin.getDrawable("newrightbut");
    hintsstyle.down = skin.getDrawable("newrightbut");
    hintsstyle.pressedOffsetX = 1;
    hints = new ImageButton(hintsstyle);
    hints.setPosition(650, 35);
    hints.setHeight(70);
    hints.setWidth(70);
    stage.addActor(hints);
    hints.setTouchable(Touchable.disabled);
}

public void update()
 {
    hints.setTouchable(Touchable.enabled);
 }

但是,程序启动时按钮没有被禁用,我甚至用button.setDisabled(true)方法测试。它也行不通。知道为什么吗?任何帮助都会很棒!!谢谢

1 个答案:

答案 0 :(得分:-1)

此问题现在已有5个月了,但无论如何我都会尝试回答。

ImageButton hints在构造函数中声明(因此其范围仅限于构造函数)。

如果你还在类中的其他地方声明了它,那么从构造函数外部的方法调用它的唯一方法是没有得到编译错误。

结论:您必须已在应用程序的其他位置声明它,并且默认情况下已启用。