如何使绘制的形状留在屏幕上? LIBGDX

时间:2017-05-01 21:08:17

标签: libgdx

目前我有一个浮点值设置为在增量时间达到4时向屏幕绘制一个矩形,一旦值达到4,矩形将在屏幕上停留一瞬间然后消失。如何制作它以使其保持在屏幕上,因为我想每4秒钟出现一个新的矩形?

1 个答案:

答案 0 :(得分:0)

因此,您希望每四秒钟后制作一个矩形,并希望它们留在屏幕上。我想你可能正在做的是每次重新定位同一个矩形,这就是你看到矩形消失的原因。

无论如何,这是你如何做到这一点:

绘制一个将继续为您创建矩形的函数

private void spawnRectangle() {
    Rectangle myRectangle = new Rectangle();
    myRectangle .x = MathUtils.random(0, Gdx.graphics.getWidth()-400);
    myRectangle .y = Gdx.graphics.getHeight();
    myRectangle .setSize(400,40);
    myList.add(myRectangle); //you need this list to store all the rectangles
}

所以在上面的代码中,我在x轴上随机制作矩形,在y轴上最上面。

现在每4秒调用一次此函数

timeTracker+=Gdx.graphics.getDeltaTime();
if(timeTracker>=4){
  timeTracker=0;
}

现在将精灵绘制到这些矩形的位置

    for(Rectangle myRectangle: myList) {
        batch.draw(mySprite, myRectangle.x, myRectangle.y,myRectangle.width,myRectangle.height);
    }