【发布时间】:2015-04-25 23:58:24
【问题描述】:
我为学校创建了一个井字游戏,我基本上完成了。我唯一剩下的就是当有人获胜时,我希望屏幕上弹出一个框,并根据谁用大文本说“X 获胜”或“O 获胜”。
我发现在 openGL 中绘制文本非常复杂。因为这对作业来说并不重要,所以我不是在寻找复杂的东西,也不需要它看起来超级漂亮。另外,我很可能只想更改我的代码。另外,当我重新调整窗口大小时,我希望文本的大小是可变的。
这是我的文字绘制功能目前的样子。它把它画得很小。
注意:mText 是一个 int [2] 数据成员,用于保存我要绘制文本的位置
void FullGame::DrawText(const char *string) const
{
glColor3d(1, 1, 1);
void *font = GLUT_BITMAP_TIMES_ROMAN_24;
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnable(GL_BLEND);
int len, i;
glRasterPos2d(mText[0], mText[1]);
len = (int)strlen(string);
for (i = 0; i < len; i++)
{
glutBitmapCharacter(font, string[i]);
}
glDisable(GL_BLEND);
}
【问题讨论】:
-
在该示例中,答案使用
#include <GL/glew.h>和#include <GL/freeglut.h>,我只使用#include "glut.h",正如我的问题所说,我不想使事情复杂化并包含一个全新的库完成我的任务。