2017-11-02 23 views
0

同じY位置(top-iconSize)にBitmapFont(フォント)と2つのテクスチャ(starIcon、clockIcon)を使用して2つの文字列を描画します。 iconSizeはアイコンの高さです。しかし、結果は完全にオフです。下の画像を参照してください。私はここで間違って何をしていますか?BitmapFontとTextureをLibgdxの同じY位置に配置する

enter image description here

 batch.draw(starIcon, hmargin, top - iconSize, iconSize, iconSize); 
     batch.draw(clockIcon, width*0.65f, top - iconSize, iconSize, iconSize); 
     font.draw(batch, scoreString, hmargin + iconSize + tmargin, top - iconSize); 
     font.draw(batch, timeString, width*0.65f + tmargin + iconSize, top - iconSize); 
+0

startIcon.getTopまたはstarIcon.getYを試すことができます –

答えて

0
font.draw(batch, scoreString, hmargin + iconSize + tmargin, top - iconSize+font.getCapHeight()); 

ベースラインに最も大文字の頂部からの距離であるBitmapFontの使用capHeight、キャップの高さは、ベースラインの位置を取得するために使用することができます。

0

テクスチャを使用する場合、原点は左下隅になります。しかし!ビットマップフォントを使用する場合、原点は左上角です。 テキストは、一番下の行に画像を一致させたい場合はこのように、これを行うには:

font.draw(batch, scoreString, hmargin + iconSize + tmargin, top - iconSize + textHeight)); 

あなたが画像の中央にテキストをしたい場合は、そう:

font.draw(batch, scoreString, hmargin + iconSize + tmargin, top - iconSize/2 + textHeight/2); 

へbimmapfont-textの高さを調べるには、GlyphLayuotを使用します。

関連する問題