2013-04-16 70 views
1

我正在用andengine開發遊戲。我正在玩字體。我使用不同字體的不同字體,並遇到此問題。Andengine:FontException沒有足夠的字母空間

其字體異常,並說「:

‘FontException沒有足夠的空間在BitmapTextureAtlas字母‘U’’

進出口新的AndEngine任何人都可以幫我解決這個問題謝謝!

這裏是異常的logcat的快照:

FontException

回答

4

這看起來很荒謬,但是你需要讓紋理更大,或者讓字體變小。

還記得創建一個字體時,你必須指定一個紋理。如果您使用andengine的示例代碼,那麼您的紋理可能是256x256像素。如果您的字體很大,則會填充該紋理,並且沒有足夠的空間繪製剩餘的字符。例如,嘗試製作更大的紋理,例如256x512。

這樣做。

見下文:

this.mFontTexture = new BitmapTextureAtlas(256, 256, TextureOptions.BILINEAR_PREMULTIPLYALPHA); 

this.mFont = new Font(this.mFontTexture, Typeface.create(Typeface.DEFAULT, Typeface.BOLD), 32, true, Color.BLACK); 

上創建BitmapTextureAtlas行,第一個論據是,您的字體被吸引到紋理的寬度和高度。嘗試更大的數字。我敢打賭,只增加一個維度就能做到。

+0

你怎麼知道有多大才能真正做到它而不會完全矯枉過正?你說什麼讓'256 x 512'而不是'512 x 512'?我也有這個問題,並希望更多。 –

+0

除非你想使用位圖字體生成器,否則你將不得不猜測。 (這裏是一個例子:http://www.angelcode.com/products/bmfont/)即使如此,Andengine也會有所不同,所以它只是讓你進入大球場。 我選擇256x512的理由是,人們往往會忘記兩個冪的紋理,它們不必同時具有這兩個尺寸。 –

+0

我很感謝答覆,謝謝。 –

相關問題