如何为Actor设置禁用的外观

时间:2016-03-20 20:22:39

标签: libgdx

我有一个TextButton,我想禁用它。 我使用默认皮肤。

我已经了解到:

  • setDisabled什么都不做
  • setTouchable(Touchable.disabled)有效但外观无效

我检查了uiskin.json文件,但它只定义了updown个状态,而没有关于禁用状态:

com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
    default: { down: default-round-down, up: default-round, font: default-font, fontColor: white },
    toggle: { down: default-round-down, up: default-round, checked: default-round-down, font: default-font, fontColor: white, downFontColor: red }   
},

我该怎么办?我禁用它时创建一个新样式并将其应用于按钮?或者我应该使用内置状态吗?

2 个答案:

答案 0 :(得分:2)

创建新样式或添加到现有样式之一。您可以定义名为disabled的背景可绘制和disabledFontColor的字体颜色。如果从样式中省略其中任何一个,那么当您调用setDisabled时,该特定元素不会发生变化。

答案 1 :(得分:0)

  • setDisabled有效!

您没有注意到外观突然改变的原因是您没有在skin.JSON文件中或以编程方式配置禁用按钮的状态。

Cobolfoo为您创建了一个皮肤编辑器,供您与libGDX一起使用。最后一次提交是2年前,但从那以后没有任何改变,皮肤编辑器应该完美无缺。

Skin-Editor on github

我强烈建议你去看看它,因此摆弄皮肤文件只是浪费时间。