Aktualizacja: ta odpowiedź jest już nieaktualna i nie działa w ogóle z najnowszymi wersjami LWJGL. Dopóki nie aktualizuje tę odpowiedź w pełni, to polecam zajrzeć tutaj: http://www.java-gaming.org/topics/lwjgl-stb-bindings/36153/view.html
Można korzystać z czcionek TrueType funkcji w bibliotece Slick-util.
Używanie wspólnego czcionka jest proste, wystarczy utworzyć czcionki takiego:
TrueTypeFont font;
Font awtFont = new Font("Times New Roman", Font.BOLD, 24); //name, style (PLAIN, BOLD, or ITALIC), size
font = new TrueTypeFont(awtFont, false); //base Font, anti-aliasing true/false
Jeśli chcesz załadować czcionkę z pliku .ttf
, jest to trochę bardziej skomplikowane:
try {
InputStream inputStream = ResourceLoader.getResourceAsStream("myfont.ttf");
Font awtFont = Font.createFont(Font.TRUETYPE_FONT, inputStream);
awtFont = awtFont.deriveFont(24f); // set font size
font = new TrueTypeFont(awtFont, false);
} catch (Exception e) {
e.printStackTrace();
}
Po pomyślnym utworzeniu TrueTypeFont
można go narysować w następujący sposób:
font.drawString(100, 50, "ABC123", Color.yellow); //x, y, string to draw, color
Aby uzyskać więcej informacji, zapoznaj się z dokumentacją dla TrueTypeFont
i java.awt.Font
, a także z Slick-Util tutorial Mam większość tego kodu z.
LWJGL jest naprawdę cienkim opakowaniem wokół OpenGL - jeśli chcesz zrobić coś takiego prostszego, proponuję coś takiego jak JMonkey, który zapewnia API scenegraph. – berry120
Czy mówisz, że jego lepsze przejście do silnika gry, jeśli chcę napisać tekst? – Israelg99
Mówisz, że szukasz prostej metody typu 'drawString()', która oznacza, że potrzebujesz prostoty - JMonkey uprości to pod tym względem (i wiele innych). – berry120