2016-09-15 41 views
0

如果您使用的是FreeTypeFontGenerator或者只是一个普通的BitmapFont,您最终需要使用BitmapFontCache。 YET,BitmapFontCache不提供缩放绘制方法。 那么,你如何绘制一个位图到不断变化的规模?我试图绘制纹理,但它不是很清楚如何做到这一点...LibGdx - 如何绘制BitmapFontCache缩放?

回答

0

因此,快速可以检查的规模,如果它是一些常量(1.0是默认值)使用绘图缓存,并在需要时使用BitmapFont的的getData()setScale()方法为这样:

@Override 
public void draw(Batch batch, float parentAlpha) 
{ 
    try 
    { 
     super.draw(batch, parentAlpha); 
     if(getScaleX() != 1 || getScaleY() != 1) 
     { 
      mCache.getFont().getData().setScale(getScaleX(), getScaleY()); 
      mCache.getFont().draw(batch, text(), mTextX, mTextY); 
     } 
     else 
     { 
      mCache.setPosition(mTextX, mTextY); 
      mCache.draw(batch); 
     } 
    } 
    catch(Throwable t) 
    { 
     Gdx.app.error(tag, "write() - Exception: " + t.getMessage(), t); 
    } 
} 
+1

什么是捕获所有将Throwable的原因是什么?非常危险的编码习惯。 – Tenfour04

+0

非常简单...捕捉所有异常,所以日志显示错误,应用程序不会崩溃...在我看来最佳实践 – rubmz