2016-02-04 2 views
0

Actuellement, je suis en utilisant le calcul suivant pour calculer l'échelle de la police résolution indépendante:Comment positionner le texte correctement dans LibGDX?

fontScale = (Gdx.graphics.getDensity()/BaseDensity) * (((float)Gdx.graphics.getWidth()/(float)BaseResolutionWidth)/(Gdx.graphics.getDensity()/BaseDensity)); 

Je suis en utilisant le code suivant pour placer mes polices par rapport à l'autre:

font.draw(batch, glyphLayout, UniX(0.5f) - w * 0.5f, UniY(0.23f + 0.04f * scale) - h * 0.5f); 

Je suis tout à fait confus. Les textes sont affichés les uns sur les autres sur ma tablette 8 pouces, mais ils sont parfaitement alignés sur mon téléphone.

Comment dois-je positionner correctement cette résolution?

+0

Pas une réponse à votre problème, mais vous calcul pour que policesScore semble s'annuler. Si vous regardez l'alegbra, n'est-ce pas simplement Gdx.graphics.getWidth/BaseResolutionWidth? –

+0

Oui c'est. J'ai réussi à trouver la solution. – Z0q

Répondre

0

Comme j'utilise mon application uniquement en mode portrait, j'utilise le format d'image suivant. Cela semble fonctionner parfaitement sur mes appareils (téléphones & comprimés).

aspectRatio = (Gdx.graphics.getHeight()/Gdx.graphics.getWidth()); 
fontScale = ((Gdx.graphics.getDensity()/BaseDensity) * aspectRatio);