如何在碰撞后2秒渲染精灵

时间:2015-09-19 10:47:16

标签: java libgdx

我想在碰撞后2秒画出/渲染我的精灵。

我该怎么做?

如果我这样做,渲染会立即添加一个新的ButtonOrange

@Override
public void render(SpriteBatch batch)
{
    relation.add(new ButtonOrange(coordinates,text);
    relation.get(0).update();
    relation.get(0).draw(batch);

    if(relation.get(0).collission() == true)
        relation.remove(0);
}

1 个答案:

答案 0 :(得分:3)

您可以使用临时计时器变量来存储自碰撞后经过的时间,如果超过2秒,则绘制该精灵。

boolean flag = false;
float time = 0; //timer for 2 sec

@Override
public void render(SpriteBatch batch)
{
    if(body.collision == true)   //just a dummy code to check for collision
      flag = true;               //set flag to true if collided

    if(flag == true)
    {
      //keep track how much time has elapsed
      time += Gdx.graphics.getDeltaTime();     

      if(time > 2)           //if more than 2 sec
        sprite.draw(batch);       //draw sprite
    }

}