2012-04-05 4 views
1

AndEngineのすべての基本的なサイズ変更の項目を知っていますが、テキストのサイズを変更できるようにする方法についてはうまくいかずありませんでした。基本的に皆がやっているのは、すべてのフォントが18ptと言うビットマップとして宣言され、最高のものを望んでいるということです。開発デバイス上では、すべてが鮮明で見た目には見えますが、より大きなデバイスに切り替えるとかなり醜いように見えます。すべてのフォントをより大きなアトラスにロードしてからサイズを変更する必要がありますか?それは選択肢ではありません。助けてください。AndEngine GLES2 |フォントをサイズ変更可能にするには?

答えて

2

GLES2固有の質問ですか?私はそうは思わない。

フォントサイズは画面サイズに合わせて調整するのではなく、密度に合わせて調整してください。多分両方。とにかく。

// determine the density 
WindowManager windowManager = (WindowManager) getSystemService(WINDOW_SERVICE); 
Display display = windowManager.getDefaultDisplay(); 
DisplayMetrics displayMetrics = new DisplayMetrics(); 
display.getMetrics(displayMetrics); 
density = displayMetrics.density; 

// scale desired size 25 by density 
int fontSize = (int) (25 * density); 

Texture fontTexture = new BitmapTextureAtlas(1024, 1024, TextureOptions.BILINEAR_PREMULTIPLYALPHA); 
font = new Font(fontTexture, Typeface.create(Typeface.DEFAULT, Typeface.NORMAL), fontSize, true, Color.WHITE); 
mEngine.getTextureManager().loadTexture(fontTexture); 
mEngine.getFontManager().loadFont(font); 

、文字が(私のコードはより複雑で、1024×1024は、私がfontTextureのために、より大きなフォントとアジア言語のテキストで使用できる最大値であると、私はまだそれで苦労書き込まれません。FluxCardsで、私はこれを行いますGLES2でテキストを使用する方法を探していましたが、2分前に読んでから問題にならないことを質問しました。

+0

ありがとうございました。しばらく私のstackoverflowアカウントをチェックしていない。私は間違いなくそれを試みます:)。ありがとう –