如何让按钮出现和消失?Libgdx

How do I make a button appear and disappear?Libgdx

我希望我的按钮在对象到达特定位置时出现,该对象是每秒生成的精灵:

public void create() {
  if(spritePosition>700) {
    buttonObj.createButton();
  } 
}

public void render() {
  if (condition==true) {
    stage.draw();
  }
}

问题是游戏开始的时候还没有生成精灵,所以结果是错误的。我也在考虑在 render 方法上调用 createButton() 方法,但它会在每一帧生成一个新按钮,因为它经常被调用。

让您的按钮 "disappear" 的一个简单方法是将其位置设置到可见屏幕区域之外的某个位置。

例如:

buttonObj.setPosition(-1000, -1000);

要使其再次可见,您只需重新设置真实坐标即可!

怎么样:

public void create() {
    buttonObj.createButton();
    buttonObj.setVisible(false); 
}

public void render() {
  if (condition==true) {
    buttonObj.setVisible(true);
  }
}

Scene2d 中的所有演员都有 setVisible 方法。只需尝试:

yourButton.setVisible(true)

yourButton.setVisible(false);