我在嘗試在我的遊戲項目中放置文本/對話框系統時遇到了一個問題。當我創建一個字體並調用其上的繪製方法傳遞相機更新的spriteBatch時,字體的每個像素都具有與一個精靈相同的尺寸。LibGDX sprite批量字體壞比例渲染
我得到以下渲染:
什麼,你可以在圖片中看到的是對的「你好」與每個像素超大的「h」的頂部。 相同的相機用於渲染瓷磚/精靈。
我想達到的效果是與此類似:
下面是代碼:
// 15 * 12 tile size
camera = new OrthographicCamera(Const.VIEWPORT_WIDTH, Const.VIEWPORT_HEIGHT);
BitmapFont font = new BitmapFont(Gdx.files.internal("data/fonts/myfont.fnt"));
// ....
// p => player position
camera.position.x = p.getX();
camera.position.y = p.getY();
camera.update();
batch.setProjectionMatrix(camera.combined);
batch.begin();
font.draw(batch, "hello", p.getX(), p.getY());
batch.end();
我一直在使用font.setScale()
沒有成功嘗試。
有人知道如何做到這一點嗎?
謝謝您的答覆,但我想文字的座標是一樣的精靈渲染相機。我需要手動更新座標嗎? –
是的,你必須手動計算它,我編輯我的答案,告訴你如何。 – Lestat
它完美的工作,非常感謝你這個很好的答案。 –