C++ と OpenGL で 3D ゲームを書いています。
私がやりたいことは、プレイヤーがオブジェクトと衝突したときに、画面に小さなテキストが表示され、数秒後に消えることです。
衝突時にテキスト自体を画面に描画する方法を知っています。私の問題は、数秒後にテキストを削除する方法がわからないことです。
私は現在、この関数を使用してテキストを画面に描画しています:
void Gui::drawStrokeText(_In_ const string& p_string, _In_ int p_x, _In_ int p_y, _In_ int p_z)
{
glPushMatrix();
glTranslatef(p_x, p_y, p_z);
glScalef(0.25f, -0.25f, p_z);
glColor4f(200/255.f, 200/255.f, 200/255.f, 128/255.f);
for (int i = 0; i < p_string.size(); ++i)
{
glutStrokeCharacter(GLUT_STROKE_ROMAN , p_string[i]);
}
glPopMatrix();
}
それでは、画面からテキストを削除するより良い方法は何ですか?
全クラスはこちら