【发布时间】:2014-02-19 09:09:56
【问题描述】:
好的,所以我已经确定如果我将正交矩阵坐标系更改为
GL11.glOrtho(0, Strings.DISPLAY_WIDTH, Strings.DISPLAY_HEIGHT, 0, -1, 1);
而不是这个
GL11.glOrtho(0, Strings.DISPLAY_WIDTH, 0, Strings.DISPLAY_HEIGHT, -1, 1);
我可以用光滑的正面朝上画弦但是我正在构建的游戏使用这个系统
GL11.glOrtho(0, Strings.DISPLAY_WIDTH, 0, Strings.DISPLAY_HEIGHT, -1, 1);
并且 slick 绘制矩阵顶部为 0 底部为显示器高度的东西,无论如何我可以旋转或绘制不同的字符串,而无需更改我的游戏坐标系?
这是我的字符串绘制类
private Font javaFont;
private UnicodeFont uniFont;
public TextHandler(int letterSize) {
this.initHandler(letterSize);
}
private void initHandler(int size) {
this.javaFont = new Font("Times New Roman", Font.BOLD, size);
this.uniFont = new UnicodeFont(this.javaFont);
this.uniFont.getEffects().add(new ColorEffect(java.awt.Color.white));
this.uniFont.addAsciiGlyphs();
try {
this.uniFont.loadGlyphs();
} catch (SlickException e) {
e.printStackTrace();
}
}
public void drawString(String string, float x, float y) {
this.uniFont.drawString(x, y, string, Color.white);
}
如果有帮助,还有我的 openGl 初始化代码
GL11.glMatrixMode(GL11.GL_PROJECTION);
GL11.glLoadIdentity();
GL11.glOrtho(0, Strings.DISPLAY_WIDTH, 0, Strings.DISPLAY_HEIGHT, -1, 1);
GL11.glMatrixMode(GL11.GL_MODELVIEW);
GL11.glEnable(GL11.GL_TEXTURE_2D);
GL11.glClearColor(0, 0, 1, 0);
GL11.glDisable(GL11.GL_DEPTH_TEST);
【问题讨论】:
标签: java opengl rendering lwjgl