2014-01-31 31 views
2

在我的libGdx项目中,我使用.json文件来设置属性对话框的按钮样式。我有两个按钮:红色(OFF)和绿色(ON)。如何使用JSON更改LibGDX中属性对话框的样式?

我想在它们之间切换。有没有在JSON文件中设置样式的方法?

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

回答

2

按钮支持setChecked方法,所以你可以这样做一种风格:

com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: { 
    toggle: { 
     down: OFF_Button, // <- pressed 
     up: OFF_Button, // <- not checked 
     checked: ON_BUTTON, // <- checked 
     font: default-font, 
     fontColor: white 
    }, 
}, 

,并致电按钮切换状态的setChecked(bool)方法。此外,按钮会自动切换选中状态。

+0

不应该这是切换而不是默认?我并不十分了解JSON和这种风格,但尽管我了解他正在寻找的风格应该称为切换(这不是技术方面的命名)。他的JSON文件是正确的吗? – Springrbua

+0

@Springrbua,是的,这种风格应该命名为“复选框”或“切换”或类似的东西。另外,'TextButtonStyle'只需要'font'字段,所以,是的,看起来是正确的。 – desertkun

+0

谢谢。直到现在,我并不需要这个在我的游戏中,因为我没有菜单,但是当我执行菜单时,这个信息将有助于希望:P谢谢。 +1 – Springrbua