2014-08-11 1 views
0

Это мой файл кожи:Как масштабировать BitmapFontShader из скинов в libgdx?

{ 
com.badlogic.gdx.graphics.g2d.BitmapFont: { default-font: { file: default.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.Button$ButtonStyle: { 
    default: { down: Button-Pressed, up: Button }, 
    toggle: { down: Button-Pressed, checked: Button-Pressed, up: Button } 
}, 
com.badlogic.gdx.scenes.scene2d.ui.TextButton$TextButtonStyle: { 
    default: { down: Button-Pressed, up: Button, font: default-font, fontColor: white }, 
    toggle: { down: Button-Pressed, up: Button, checked: Button-Pressed, font: default-font, fontColor: white, downFontColor: red } 
}, 
com.badlogic.gdx.scenes.scene2d.ui.Window$WindowStyle: { 
    default: { titleFont: default-font, background: window, titleFontColor: white }, 
    dialog: { titleFont: default-font, background: window, titleFontColor: white } 
}, 
com.badlogic.gdx.scenes.scene2d.ui.Label$LabelStyle: { 
    default: { font: default-font, fontColor: white } 
}, 
} 

Я изменил по умолчанию-шрифт, используя этот код:

texture = new Texture(Gdx.files.internal("default.png"), true); 
bitmapFontShader = new BitmapFontShader(Gdx.files.internal("default.fnt"), new TextureRegion(texture), false, 1/5f); 

skin = new Skin(Gdx.files.internal("myskin.json")); 
skin.remove("default-font", BitmapFont.class); 
skin.add("default-font", bitmapFontShader, BitmapFont.class); 

Сейчас я стараюсь растягивать его: skin.getFont("default-font").scale(0.5f); и он не работает. Кто-нибудь может сказать мне, что может быть причиной? что не так с моим кодом?

ответ

0

Пожалуйста, попробуйте удалить следующую строку из файла кожи: com.badlogic.gdx.graphics.g2d.BitmapFont: {по умолчанию-шрифта: {Файл: default.fnt}},

Затем используйте следующий код load:

Skin skin=new Skin(); 
skin.add("default-font", bitmapFontShader); 
skin.addRegions(new TextureAtlas(Gdx.files.internal("myskin.atlas"))); 
skin.load(Gdx.files.internal("myskin.json")); 
+0

Что делать с шрифтом по умолчанию в файле json? в windows buttonsytle и т. д. ... –

+0

Я считаю, что больше не требуется изменений в json-файле. Просто масштабируйте с помощью skin.getFont ("default-font"). Scale (0.5f); Удачи. –

 Смежные вопросы

  • Нет связанных вопросов^_^