@Override public void onDrawFrame(GL10 gl) { long t0 = gameClock.getCurrentTime(); long elapsedTime = gameClock.getCurrentTime() - t0; while(elapsedTime >= gameClock.getGamePlayRate()) { updatePlayer(); updateCamera(); t0 += gameClock.getGamePlayRate(); elapsedTime = gameClock.getCurrentTime() - t0; } GLES20.glClear(GLES20.GL_COLOR_BUFFER_BIT); GLES20.glClear(GLES20.GL_DEPTH_BUFFER_BIT); drawSkyBox(); drawPlayer(); drawMaze(); collisionDetectionAndResponse(); }