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

如何使绘制的形状保持在屏幕上?LIBGDX,libgdx,Libgdx,目前,我设置了一个浮点值,一旦增量时间达到4,就在屏幕上绘制一个矩形,一旦该值达到4,矩形将在屏幕上停留一秒钟,然后消失。如何使其保持在屏幕上,因为我希望每4秒显示一个新矩形?因此,您希望每4秒生成一个矩形,并希望它们保持在屏幕上。我猜你可能每次都在重新定位同一个矩形,这就是为什么你看到矩形消失的原因 无论如何,以下是您如何做到这一点: 绘制一个函数,该函数将继续为您创建矩形 在上面的代码中,我在x轴上随机绘制矩形,在y轴上随机绘制最上面的矩形 现在每4秒调用一次这个函数 现在将精灵绘制到这些矩

目前,我设置了一个浮点值,一旦增量时间达到4,就在屏幕上绘制一个矩形,一旦该值达到4,矩形将在屏幕上停留一秒钟,然后消失。如何使其保持在屏幕上,因为我希望每4秒显示一个新矩形?

因此,您希望每4秒生成一个矩形,并希望它们保持在屏幕上。我猜你可能每次都在重新定位同一个矩形,这就是为什么你看到矩形消失的原因

无论如何,以下是您如何做到这一点:

绘制一个函数,该函数将继续为您创建矩形 在上面的代码中,我在x轴上随机绘制矩形,在y轴上随机绘制最上面的矩形

现在每4秒调用一次这个函数 现在将精灵绘制到这些矩形的位置 我不确定(条)是什么,所以我选择了myList.add(myRectangle)。这在for循环中给了我一个错误,说明我无法将对象转换为矩形
myList.add(myRectangle)是的,它应该是我的矩形,而不是条,很抱歉,我编辑了代码,很高兴看到你的代码工作。
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
}
timeTracker+=Gdx.graphics.getDeltaTime();
if(timeTracker>=4){
  timeTracker=0;
}
    for(Rectangle myRectangle: myList) {
        batch.draw(mySprite, myRectangle.x, myRectangle.y,myRectangle.width,myRectangle.height);
    }