【发布时间】:2012-04-13 17:44:46
【问题描述】:
我有这个函数可以在我的画布上呈现文本:
public void renderString(String s, int x, int y){
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glPushMatrix();
gl.glLoadIdentity();
gl.glOrtho(0,WIDTH,0,HEIGHT,-1, 1);
gl.glMatrixMode(GL.GL_MODELVIEW);
gl.glPushMatrix();
gl.glLoadIdentity();
gl.glTranslatef(x,y,0);
gl.glScalef(textScalingFactor, textScalingFactor, 1f);
glut.glutStrokeString(GLUT.STROKE_ROMAN, s);
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glPopMatrix();
gl.glMatrixMode(GL.GL_MODELVIEW);
gl.glPopMatrix();
}
问题是,换行符 (\n) 不起作用并且以下所有字符串:
String s1 = "bla"+"\n"+"bla";
String s2 = "bla\nbla";
char newLine = new char(10);
String s3 = "bla"+newLine+"bla";
呈现如下:
废话
有什么想法吗?
附:制表符 (\t) 也无法正常工作。
附言glutBitmapString, glutBitmapCharacter, glutStrokeCharacter也是同样的问题。
【问题讨论】: