2017-06-16 4 views
0

Ich möchte Text auf der Oberseite des Körpers des Feindes hinzufügen.Libgdx: Text innerhalb des Spielbildschirms/Render - Größe und Position fixieren

Absteuern Ausgabe beginnt hier:

https://gamedev.stackexchange.com/questions/73688/why-is-my-text-is-too-large-even-when-scaled-to-05f-in-libgdx

Das Problem ist, dass der Text sehr, sehr groß ist, und ich kann es kleiner nicht skalieren. Es gibt eine Lösung, um eine weitere Kamera/Viewport hinzuzufügen. Dies ist OK - für HUD-Bildschirm.

Aber ich brauche den Text auf dem feindlichen Kopf.

Von Fontklasse:

viewport = new FitViewport(Application.V_WIDTH * 4 , Application.V_HEIGHT * 4, new OrthographicCamera()); 
stage = new Stage(viewport, SpriteBatch); 
stage.addActor(tableText); 

Spiel Hauptklasse:

viewport = new FitViewport(Application.V_WIDTH/Application.PPM, Application.V_HEIGHT/Application.PPM, orthographicCamera); 
AND THE GAME. . . 

Was soll ich tun? Muss ich das richtige Verhältnis zwischen dem Spiel und der Schriftklasse finden?

Danke

+0

ich das Problem nicht sehen > Aber ich brauche den Text auf dem feindlichen Kopf. Sie können 1 Kamera für die Feinde und 1 für den Text auf ihren Köpfen und den Rest des HUD verwenden –

+0

Danke für die Wiederholung, also wie würdest du das gleiche x und y bekommen? (vom Feind) – ROSA

+0

Ich glaube Camera.unproject kann dies tun. –

Antwort

-1

Es gibt eine andere Art und Weise, die jetzt für mich funktioniert:

bitmapFont.getData().setScale(0.008f); 
    bitmapFont.setUseIntegerPositions(false); 

Von Libgdx API:

/** Specifies whether to use integer positions. Default is to use them so filtering doesn't kick in as badly. */ 
public void setUseIntegerPositions (boolean integer) { 
    this.integer = integer; 
    cache.setUseIntegerPositions(integer); 
} 
Verwandte Themen