2012-04-05 8 views
1

Ich kenne jetzt alle grundlegenden Größenanpassungen in AndEngine, aber ich bin nicht auf einen guten Weg gestoßen, wie man Text in der Größe verändern kann. Was alle machen, ist, dass alle Schriften als Bitmaps deklariert werden, sagen wir 18pt und hoffen auf das Beste. Auf dem Entwicklungsgerät sieht alles scharf aus, aber wenn es auf ein größeres Gerät geschaltet wird, sieht es ziemlich hässlich aus. Muss ich alle Schriften in einen größeren Atlas laden und dann die Größe ändern? Das kann keine Option sein. Bitte helfen Sie.AndEngine GLES2 | Schriftgröße veränderbar machen?

Antwort

2

Ist Ihre Frage GLES2-spezifisch? Ich denke nicht.

Die Schriftgröße sollte nicht mit der Bildschirmgröße, sondern mit der Dichte skalieren. Vielleicht beide. Sowieso. In FluxCards ich dies tun:

// 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); 

(Mein Code ist komplexer und ich kämpfe immer noch mit ihm als 1024x1024 ist das Maximum, das ich für die fontTexture und mit größerer Schrift und asiatischen Text verwenden können, haben Briefe nicht geschrieben werden Manchmal war ich auf der Suche nach Text in GLES2 und meine 2 Minuten lesen, bevor ich in Ihre Frage lief, vorgeschlagen, dass dies kein Problem mehr ist.)

+0

oh danke. habe mein stackoverflow-konto für eine Weile nicht überprüft. Ich werde das definitiv versuchen :). Vielen Dank –

Verwandte Themen