Java FPS动画不基于时间更新

Java FPS动画不基于时间更新,java,animation,jogl,Java,Animation,Jogl,我正在尝试学习JOGL,并遵循以下教程:。一切似乎都在工作,直到最后,FPSAnimation对象似乎没有调用update。当我调整屏幕大小时会调用Update,但并不像我预期的那样每隔10秒调用一次。我确实需要对教程示例进行一些调整(Java抱怨由于某种原因无法将动画转换为动画)。我在这里修改了代码: public class SimpleScene implements GLEventListener { private double x = -1; public stati

我正在尝试学习JOGL,并遵循以下教程:。一切似乎都在工作,直到最后,FPSAnimation对象似乎没有调用update。当我调整屏幕大小时会调用Update,但并不像我预期的那样每隔10秒调用一次。我确实需要对教程示例进行一些调整(Java抱怨由于某种原因无法将动画转换为动画)。我在这里修改了代码:

public class SimpleScene implements GLEventListener {
    private double x = -1;
    public static void main(String[] args) {
        GLProfile glp = GLProfile.getDefault();
        GLCapabilities caps = new GLCapabilities(glp);
        GLCanvas canvas = new GLCanvas(caps);

        Frame frame = new Frame("Test");
        frame.setSize(300, 300);
        frame.add(canvas);
        frame.setVisible(true);

        frame.addWindowListener(new WindowAdapter() {
            public void windowClosing(WindowEvent e) {
                System.exit(0);
            }
        });

        canvas.addGLEventListener(new SimpleScene());

        FPSAnimator animator = new FPSAnimator(canvas, 10);
        animator.add(canvas);
        animator.start();
    }

    public void display(GLAutoDrawable drawable) {
        update();
        render(drawable);
    }
    public void dispose(GLAutoDrawable drawable) {}
    public void init(GLAutoDrawable drawable) {}
    public void reshape(GLAutoDrawable drawable, int x, int y, int w, int h) {}

    private void update() {    x += 0.01;   }

    private void render(GLAutoDrawable drawable) {
        GL2 gl = drawable.getGL().getGL2();
        gl.glBegin(GL.GL_TRIANGLES);
        gl.glClear(GL.GL_COLOR_BUFFER_BIT); gl.glColor3f(1, 1, 1);
        gl.glVertex2d(-1, -1);  gl.glVertex2d(x, 1);  gl.glVertex2d(1, -1);
        gl.glEnd();
    }
}
我在Windows32上运行:

C:\Users\John>java -version
java version "1.7.0_45"
Java(TM) SE Runtime Environment (build 1.7.0_45-b18)
Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)

我在网上查过,似乎找不到任何关于这个问题的参考资料。任何帮助都将不胜感激。

animator.add(画布)是不必要的。谢谢,我删除了那行,一切都开始工作了。。。我猜添加画布会以某种方式覆盖fps设置。您已经将画布传递给了动画师,Svetlin是对的。