1

我想在面板的左上角显示一些文字(玩家得分和剩余生命数)。

我的游戏是在 openGL 中运行的弹球游戏,我想使用 FTGL 来显示文本。

我的代码看起来像这样

FTGLTextureFont font("./fonts/JambeticaRegular.ttf");
glTranslatef(-150,50,0);
font.FaceSize(32);
font.Render(text);

我的问题是,当我移动相机时,文本会跟随弹球台。我希望它固定在左上角,无论我用相机做什么,都不会移动。

你有什么想法吗?

编辑

相反,我尝试这样做。

FTGLPixmapFont font("./fonts/JambeticaRegular.ttf");
font.FaceSize(30);
font.Render("Points: ", -1, FTPoint(0, 300, 0));
font.Render("Lives: ", -1, FTPoint(0, 270, 0));

它以某种方式起作用,因为我的文本现在是固定的,但它固定在距左下角一定距离处。我想把它固定在左上角。有办法吗?

4

2 回答 2

0

在渲染文本之前,请尝试使用 glLoadIdentity 和 glOrtho 再次设置矩阵。或者您可以通过 glPushMatrix/glPopMatrix 保存/恢复矩阵。

于 2014-11-21T23:51:27.630 回答
0

取平截头体高度和宽度来计算与 FTPoint() 一起使用的相对位置。

于 2015-05-04T18:02:04.210 回答