我想在面板的左上角显示一些文字(玩家得分和生命数量)。
我的游戏是在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));
它以某种方式起作用,因为我的文字现在已修复,但它固定在离左下角一定距离处。我想将它固定在左上角。有办法吗?
答案 0 :(得分:0)
在渲染文本之前,请尝试使用glLoadIdentity和glOrtho再次设置矩阵。 或者你可以通过glPushMatrix / glPopMatrix保存/恢复矩阵。
答案 1 :(得分:0)
取平截头体的高度和宽度来计算与FTPoint()一起使用的相对位置。