我想使用 JSON 在 LibGDX 中设置我的按钮。我有两种字体(carterone_red.fnt、carterone_green.fnt)。当按钮按下时,它使用 carterone_red 字体,当按钮向上时,它变成 carterone_green.fnt。可能吗?
以下代码无效。
谢谢, 文森特
{
com.badlogic.gdx.graphics.g2d.BitmapFont:{
carterone-font: { file: fonts/carterone_green.fnt }
carterone-font2: { file: fonts/carterone_red.fnt }
},
com.badlogic.gdx.graphics.Color: {
green: { a: 1, b: 0, g: 1, r: 0 },
white: { a: 1, b: 1, g: 1, r: 1 },
red: { a: 1, b: 0, g: 0, r: 1 },
black: { a: 1, b: 0, g: 0, r: 0 }
},
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
carterone: { down: button2,font: carterone2-font, up: button1, font: carterone-font, fontColor: white }
}
}
最佳答案
如果我理解你的问题,那么你希望你的按钮在向上时为绿色字体,在向下时为红色字体。 那么我看到的最简单的方法是:
- 创建一个 BitmapFont,它应该是您的“carterone”字体,但颜色为白色 (!)
- 然后在您的皮肤 json 文件中,您可以设置属性
fontColor
和downFontColor
以相应地设置红色和绿色。
==> 最后你的 skin.json 看起来或多或少像这样:
{
com.badlogic.gdx.graphics.g2d.BitmapFont:{
carterone-font: { file: fonts/carterone_white.fnt }
},
com.badlogic.gdx.graphics.Color: {
green: { a: 1, b: 0, g: 1, r: 0 },
white: { a: 1, b: 1, g: 1, r: 1 },
red: { a: 1, b: 0, g: 0, r: 1 },
black: { a: 1, b: 0, g: 0, r: 0 }
},
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: {
carterone: { down: button2, up: button1, fontColor: green, downFontColor: red }
}
}
关于android - 是否可以使用 JSON 在 LibGDX 的 TextButtonStyle 中使用两种字体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30126102/