7
\$\begingroup\$

In libgdx, the game loop is the render() method. But why is that, and is there a way where I can make an update() method that is called 60 times a second? As in the update() method, I would add the game logic, and leave the rendering to the render method. Basically, separate methods, and the update() method called 60 times per second using Libgdx with java.

\$\endgroup\$
1
  • 1
    \$\begingroup\$ I think you should wait a bit longer to accept an answer. This question has only been viewed 9 times (at the time of be writing this). It is usually best to wait a bit to see if more answers come in. \$\endgroup\$
    – Lysol
    Mar 14, 2014 at 0:43

1 Answer 1

7
\$\begingroup\$

There is no specific game loop in libGDX because it is event-driven. And still, you can see the render method as the main loop.

You've got it right - usually, this is where you update the game logic before you do the rendering.

What you can do is to create a class responsible for the logic and a class responsible for the rendering. Then in your render method you write

@Override
public void render(float deltaTime) {
    if(!paused)
        LogicClass.update(deltaTime);
    Gdx.gl.glClearColor(0, 0, 0, 0);
    Gdx.gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
    RenderClass.render(deltaTime);
}

You can read more about the life cycle in libGDX in its wiki on github: https://github.com/libgdx/libgdx/wiki/The-life-cycle.

\$\endgroup\$
2
  • \$\begingroup\$ Hmmm... This might work :D All I need to do is find out how to make it update at 60 times per second. \$\endgroup\$
    – user43353
    Mar 13, 2014 at 23:59
  • \$\begingroup\$ You can limit the FPS by changing the configuration. This is a similar question to yours and you will find the answer useful: link \$\endgroup\$ Mar 14, 2014 at 0:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .