我正在制作一个游戏,玩家(“Bob”)垂直移动并持续收集硬币。如果玩家没有设法收集任何硬币5秒,“鲍勃”开始下降。随着时间的推移,他会更快地倒下。我如何跟踪Java第三方API“LibGDX”中的流逝时间?
我的问题是这样的:如何跟踪LibGDX(Java)应用程序中的流逝时间?
示例代码如下。
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;
}
,并呼吁在世界级的collectmethod在upate作为鲍勃 -
private void updateBob(float deltaTime, float accelX)
{
diff = collidetime-System.currentTimeMillis();
if (bob.state != Bob.BOB_COLLECT_COINE && diff>2000) //bob.position.y <= 0.5f)
{
bob.hitSquirrel();
}
你是对的我没想过 – Tiarsoft 2013-08-04 00:59:37