Java 如何使用fps animator在opengl中转换此多边形?
我正在尝试编写一个代码,其中多边形从屏幕的左端移动到右端。我分享的主要问题是,我无法使用fps animator翻译此内容Java 如何使用fps animator在opengl中转换此多边形?,java,opengl,keylistener,primitive-types,opengl-compat,Java,Opengl,Keylistener,Primitive Types,Opengl Compat,我正在尝试编写一个代码,其中多边形从屏幕的左端移动到右端。我分享的主要问题是,我无法使用fps animator翻译此内容这是我的多边形代码: private void drawface(GL2 gl) { gl.glBegin(GL2.GL_POLYGON); gl.glVertex2f(0, 130); gl.glVertex2f(120, 130); gl.glVertex2f(120, 140); g
这是我的多边形代码:
private void drawface(GL2 gl)
{
gl.glBegin(GL2.GL_POLYGON);
gl.glVertex2f(0, 130);
gl.glVertex2f(120, 130);
gl.glVertex2f(120, 140);
gl.glVertex2f(0, 140);
gl.glEnd();
}
那么这就是我的显示功能:
public void display(GLAutoDrawable arg0)
{
final GL2 gl = arg0.getGL().getGL2();
gl.glClear(GL2.GL_COLOR_BUFFER_BIT | GL2.GL_DEPTH_BUFFER_BIT);
gl.glLoadIdentity();
gl.glPushMatrix();
gl.glColor3f(0.5f, 1f, 0.75f);
gl.glTranslatef(t1x, 1, 1);
drawface(gl);
gl.glPopMatrix();
}
我正在通过KeyEvent方法更新
int t1x
public void keyPressed(KeyEvent arg0)
{
int key = arg0.getKeyCode();
if(key == KeyEvent.VK_RIGHT)
{
t1x++;
}
else if(key == KeyEvent.VK_LEFT)
t1x--;
}
但是当我单击右箭头键时,我的多边形没有平移。我该怎么办?您调试过这个吗?你确定所有的东西都被调用了吗?@n247s是的,我确定我已经调用了所有的东西。甚至多边形也会显示出来。但它并没有移动,我指的是按键。因为这可以解释为什么什么都不是updating@n247s即使我在不使用按键的情况下更新显示函数中的值,它仍然不会转换。根据坐标,我假设您有一个屏幕宽度/屏幕高度大小的正交投影。在这种情况下,您将在每次按下时仅移动对象一个像素。如果不是这样,请显示投影矩阵设置。