I am making a game in which a player ("Bob") moves vertically and continuously collects coins. If a player fails to collect any coins within 5 seconds, โBobโ begins to fall. As time continues to count down, it will fall faster.
My question is: How to track elapsed time in a LibGDX (Java) application?
The following is sample code.
public void update (float deltaTime) { `velocity.add(accel.x * deltaTime,accel.y*deltaTime);` position.add(velocity.x * deltaTime, velocity.y * deltaTime); bounds.x = position.x - bounds.width / 2; bounds.y = position.y - bounds.height / 2; if (velocity.y > 0 && state == BOB_COLLECT_COINE) { if (state== BOB_STATE_JUMP) { state = BOB_STATE_Increase; stateTime = 0; } else { if(state != BOB_STATE_JUMP) { state = BOB_STATE_JUMP;//BOB_STATE_JUMP stateTime = 0; } } } if (velocity.y < 0 && state != BOB_COLLECT_COINE) { if (state != BOB_STATE_FALL) { state = BOB_STATE_FALL; stateTime = 0; } } if (position.x < 0) position.x = World.WORLD_WIDTH; if (position.x > World.WORLD_WIDTH) position.x = 0; stateTime += deltaTime; } public void hitSquirrel () { velocity.set(0, 0); state = BOB_COLLECT_COINE;s stateTime = 0; } public void collectCoine() { state = BOB_COLLECT_COINE; velocity.y = BOB_JUMP_VELOCITY *1.5f; stateTime = 0; }
and call the collectmethod method in the World class in upate Bob as -
private void updateBob(float deltaTime, float accelX) { diff = collidetime-System.currentTimeMillis(); if (bob.state != Bob.BOB_COLLECT_COINE && diff>2000)
source share