如何使用FTGL显示文本固定位置2d?

时间:2014-11-21 23:31:56

标签: c++ opengl ftgl

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

我的游戏是在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));

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

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