首页 > 解决方案 > 如何使用 fps animator 在 opengl 中翻译这个多边形?

问题描述

我正在尝试编写一个代码,使我的多边形从屏幕的左端移动到右端。我分享的主要问题是我无法使用 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();
        }


我正在int t1x通过 KeyEvent 方法更新

public void keyPressed(KeyEvent arg0) 
    {
        int key = arg0.getKeyCode();
        if(key == KeyEvent.VK_RIGHT)
         {
            t1x++;
         }
        else if(key == KeyEvent.VK_LEFT)
            t1x--;

    }


但是当我单击右箭头键时,我的多边形没有平移。我应该怎么办 ?

标签: javaopenglkeylistenerprimitive-typesopengl-compat

解决方案


推荐阅读