String 我该如何修复我光滑的独角兽,使其不至于倒下?

String 我该如何修复我光滑的独角兽,使其不至于倒下?,string,fonts,lwjgl,slick2d,String,Fonts,Lwjgl,Slick2d,出于某种原因,当我尝试使用Slick的UnicodeFont类打印字符串时,它是颠倒的 (注意:我也在使用LWJGL,但我认为它不会干扰slick的工作。) 初始化代码: GL11.glMatrixMode(GL11.GL_PROJECTION); GL11.glLoadIdentity(); GL11.glOrtho(0, Display.getWidth(), 0, Display.getHeight(), 1, -1); GL11.glMatrixMode(

出于某种原因,当我尝试使用Slick的UnicodeFont类打印字符串时,它是颠倒的

(注意:我也在使用LWJGL,但我认为它不会干扰slick的工作。)

初始化代码:

    GL11.glMatrixMode(GL11.GL_PROJECTION);
    GL11.glLoadIdentity();
    GL11.glOrtho(0, Display.getWidth(), 0, Display.getHeight(), 1, -1);
    GL11.glMatrixMode(GL11.GL_MODELVIEW);
    GL11.glEnable(GL11.GL_DEPTH_TEST);
    GL11.glEnable(GL11.GL_TEXTURE_2D);
    GL11.glEnable(GL11.GL_BLEND);

    try {
        normalFont = new UnicodeFont("res/fonts/visitor.ttf", 15, false, false);
        normalFont.addAsciiGlyphs();
        normalFont.addGlyphs(400, 600);
        normalFont.getEffects().add(new ColorEffect());
        normalFont.loadGlyphs();
    } catch (SlickException e) {
        e.printStackTrace();
    }
绘图代码:

    normalFont.drawString(10f, 740f, "HELLO WORLD!");

有人知道为什么我的绳子被颠倒了吗?

我找到了答案。我需要改变这一点:

GL11.glOrtho(0, Display.getWidth(), 0, Display.getHeight(), 1, -1);
为此:

GL11.glOrtho(0, Display.getWidth(), Display.getHeight(), 0, 1, -1);

我找到了答案。我需要改变这一点:

GL11.glOrtho(0, Display.getWidth(), 0, Display.getHeight(), 1, -1);
为此:

GL11.glOrtho(0, Display.getWidth(), Display.getHeight(), 0, 1, -1);

快速了解字体不工作的原因(如果您还不知道),glOrtho的名称如下:

glOrtho(双左、双右、双底、双顶、双zNear、双zFar)


这就是说,您将底部设置为0,如果需要的话,应该将底部设置为显示器的高度或自定义底部,这就是文本面向屏幕顶部的原因,或者更确切地说,是向上向下绘制的原因。

快速了解字体不工作的原因(如果您还不知道),格洛托的名字是这样的:

glOrtho(双左、双右、双底、双顶、双zNear、双zFar)

这就是说,您将底部设置为0,如果需要,它应该设置为显示器的高度或自定义底部,这就是文本面向屏幕顶部的原因,或者更确切地说,是向上向下绘制的