Java 如何使用fps animator在opengl中转换此多边形?

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

我正在尝试编写一个代码,其中多边形从屏幕的左端移动到右端。我分享的主要问题是,我无法使用fps animator翻译此内容
这是我的多边形代码:

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即使我在不使用按键的情况下更新显示函数中的值,它仍然不会转换。根据坐标,我假设您有一个屏幕宽度/屏幕高度大小的正交投影。在这种情况下,您将在每次按下时仅移动对象一个像素。如果不是这样,请显示投影矩阵设置。