到目前爲止,我一直在做的方式是複製相同的字體,以其他名稱保存並用不同的參數加載它。我正試圖在LibGDX中開發一個應用程序,並通過保存字體,因爲不同的文件佔用的內存超過必要的。沒有一種方法可以多次加載1個字體,每次都有不同的參數?如何使用不同參數加載TrueTypeFont? LibGDX
0
A
回答
0
看一下這個例子,我創建了一個具有不同大小的BitmapFont對象列表,只需更改FreeTypeFontGenerator.FreeTypeFontParameter
的屬性即可。
public class MainGame extends Game {
SpriteBatch spriteBatch;
BitmapFont font[];
OrthographicCamera camera;
@Override
public void create() {
camera=new OrthographicCamera();
camera.setToOrtho(false,400,640);
spriteBatch = new SpriteBatch();
int size[]=new int[]{5,8,10,13,15,20,30,40,50,60};
font=new BitmapFont[size.length];
FreeTypeFontGenerator generator = new FreeTypeFontGenerator(Gdx.files.internal("BUBBLEGUM.TTF"));
FreeTypeFontGenerator.FreeTypeFontParameter parameter = new FreeTypeFontGenerator.FreeTypeFontParameter();
parameter.color = Color.WHITE;
parameter.magFilter = Texture.TextureFilter.Linear; // used for resizing quality
parameter.minFilter = Texture.TextureFilter.Linear;
for(int i=0;i<size.length;i++){
parameter.size=size[i];
font[i]=generator.generateFont(parameter);
font[i].getRegion().getTexture().setFilter(Texture.TextureFilter.Linear, Texture.TextureFilter.Linear);
font[i].setColor(1.0f, 0.0f, 0.0f, 1.0f);
}
generator.dispose(); // Don't forget to dispose
}
@Override
public void render() {
Gdx.gl.glClear(GL20.GL_COLOR_BUFFER_BIT);
Gdx.gl.glClearColor(1,1,0,1);
spriteBatch.setProjectionMatrix(camera.combined);
spriteBatch.begin();
for (int i=0;i<font.length;i++)
font[i].draw(spriteBatch,"LIBGDX FONT",10,100+i*55);
spriteBatch.end();
}
@Override
public void resize(int width, int height) {
camera.setToOrtho(false,width,height);
}
@Override
public void dispose() {
spriteBatch.dispose();
for(BitmapFont bmfont:font)
bmfont.dispose();
}
}
編輯
相關問題
- 1. 使用參數加載不同視圖
- 2. 我如何使用不同的參數重新加載表單?
- 3. 如何更改TextButton中的TrueTypeFont的字體顏色LibGDX
- 4. 使用libgdx加載圖像
- 5. 加載其他不同的viewController參數
- 6. 如何使用不同的參數
- 7. 如何使用ExtJS TreeStore中的不同參數重新加載節點?
- 8. 如何根據某些參數加載不同的RESX文件
- 9. 使用不同功能加載數據
- 10. 無法加載.png文件使用LibGDX
- 11. 如何在libGDX中加載圖像?
- 12. 如何在Libgdx中加載紋理?
- 13. LIBGDX如何加載md2格式
- 14. 如何加載異步url映像? (libgdx)
- 15. 如何使用libgdx獲取「加載屏幕」?
- 16. 如何使用libgdx assetmanager正確加載紋理
- 17. 如何使用兩個不同的類加載器加載同一個類
- 18. 的Java TrueTypeFont
- 19. 加載圖像libgdx
- 20. 如何使用附加參數重新加載ASP 1.0頁面
- 21. 如何使用libgdx
- 22. 如何使用libgdx
- 23. 如何使用LibGDX?
- 24. php使用php_self在URL中使用不同參數重新加載頁面
- 25. 使用不同的參數
- 26. 如何使用MVC在不使用參數的情況下加載頁面?
- 27. 如何使用HTML同時加載Javascript
- 28. 如何轉換truetypefont文件在python
- 29. 加載不同的頁面,如果有參數
- 30. 如何使用Retrofit添加多個相同的/數組參數?
你怎麼通過複製相同的字體是什麼意思?你正在處理BitmapFont'.fnt'文件或'.ttf'文件。 ? – Aryan
.ttf。爲了使用不同參數的字體,我只複製現有的字體,將其粘貼到同一個文件夾下,並使用其他參數加載它 – vladutelu
您可以使用相同的.ttf文件,並通過僅更改FontTypeParameter屬性來生成不同的字體。 – Aryan