我在尝试将文本/对话系统放入我的游戏项目时遇到问题。当我创建一个字体并通过相机更新的 spriteBatch 调用它的 draw 方法时,字体的每个像素都具有一个精灵的相同尺寸。
我得到以下渲染:
您可以在图片中看到“hello”的“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()
没有成功。
有人知道如何实现这一目标吗?