android - 是否可以使用 JSON 在 LibGDX 的 TextButtonStyle 中使用两种字体?

标签 android json button libgdx scene2d

我想使用 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 }  
    }
    }

最佳答案

如果我理解你的问题,那么你希望你的按钮在向上时为绿色字体,在向下时为红色字体。 那么我看到的最简单的方法是:

  1. 创建一个 BitmapFont,它应该是您的“carterone”字体,但颜色为白色 (!)
  2. 然后在您的皮肤 json 文件中,您可以设置属性 fontColordownFontColor 以相应地设置红色和绿色。

==> 最后你的 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/

相关文章:

安卓模拟器根本不启动

json - 如何在 Go 语言中读取 JSON

iOS 刷新 JSON 表

ios - 为什么我的按钮不让我的选择器 View 出现?

android - 在不启动服务的 WakefulBroadcastReceiver 中删除唤醒锁

android - LiveData、MVVM 和存储库模式

wpf - 如何更改 wpf 中按钮的内容 "color"

java - 为 Android 中的 Button(任何 View 类)添加了方法

android - 如何将 json 对象从我的 android 应用程序发送到服务器

ruby-on-rails - 在循环中附加到 JSON 数组