画面上に一連の円を描画する Java の OpenGL プロジェクトがあり、マウスが円の 1 つの上にあるときはいつでもツールチップが表示されるようにします。ツールチップが長方形に過ぎない場合は完全に機能しますが、テキスト レンダリング コードを追加すると、すべてが機能しなくなります。マウスがいずれかの上に移動すると、すべての円が消え、テキストの背後にある長方形も同様に消えます。その後、マウスをどこに移動しても、それらは再表示されません。私の問題を引き起こしているコード行は
GraphicsUtil.DEFAULT_FONT.drawString(x, y, info);
info は文字列、x と y は座標、GraphicsUtil.DEFAULT_FONT は次のように宣言されます。
@SuppressWarnings("unchecked")
public class GraphicsUtil
{
private GraphicsUtil()
{
}
public static final UnicodeFont DEFAULT_FONT = new UnicodeFont(new Font("",Font.PLAIN,12));
static
{
DEFAULT_FONT.addAsciiGlyphs();
DEFAULT_FONT.addGlyphs(400, 600);
DEFAULT_FONT.getEffects().add(new ColorEffect(java.awt.Color.white));
try
{
DEFAULT_FONT.loadGlyphs();
}
catch (SlickException e)
{
e.printStackTrace();
}
}
}
その他:
このコードは、render 関数の最後で現在レンダリング中の円によって呼び出されます。Info は複数行の文字列です。LWJGL バージョン 2.8.3。
更新: これはアルファの問題のようです。出力するテキストによっては、残りの描画が非常にかすかに表示されます。