2015-05-08 37 views
1

我想用JSON在LibGDX中設置我的按鈕。我有兩種字體(carterone_red.fnt,carterone_green.fnt)。當按鈕關閉時,它使用carterone_red字體,當按鈕啓動時,它會變成carterone_green.fnt。可能嗎?是否可以在使用JSON的LibGDX中的TextButtonStyle中使用兩種字體?

以下代碼無法正常工作。

感謝, 文森特

{ 
    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

如果我理解你的問題,那麼你想你的按鈕t o如果它處於綠色字體,則處於綠色字體;如果處於停止狀態,則處於紅色字體。 後來我看到的最簡單的方法是:

  1. 創建一個BitmapFont,這應該是你的「carterone」字型,但在白色顏色
  2. 然後在你的皮膚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 } 
} 
} 
0

的屬性設置字體的家庭是:

android:fontFamily="sans-serif" 

如果這是一個自定義字體,將其放置在以下目錄中(資產,生沒有按」 t工作):

assets/fonts 
相關問題