从ArrayList中产生敌人

时间:2017-05-06 01:19:27

标签: java android libgdx tile 2d-games

我在ArrayList中有十二个敌人,我想为每个敌人推迟batch.draw。我在render方法中尝试了以下代码,但它只是使sprite闪烁。我正在使用libgdx。请帮忙;(

for (int i = 0; i < list.size(); i++)
{
    fireDelay -= Gdx.graphics.getDeltaTime();
    if (fireDelay <= 0)
    {
        batch.draw(list.get(i)//..etc)                    
        fireDelay += 0.2;
    }
}

2 个答案:

答案 0 :(得分:0)

以下代码肯定会有效:

doc.FormFields("ddShippingtype").Result

注意:全局声明spawnTime。

答案 1 :(得分:0)

您可以尝试使用ModelBatch编写的代码段代码,但该方法也适用于spriteBatch。

private int idx = 1;
private float elapsedTime = 0;
private int everySec = 1;
private Array<ModelInstance> storedInstance = new Array<>(); //extra array added each model every second to render in model batch.

在render()方法中

modelBatch.begin(cam);
elapsedTime += Gdx.graphics.getDeltaTime();

int time = (int) Math.floor(elapsedTime);

if (idx <= instance.size) {

if (time == idx * everySec) {
     storedInstance.add(instance.get(idx - 1));
     idx++;
    }
}
modelBatch.render(storedInstance);
modelBatch.end();

idx检查是否所有模型都分别在每秒渲染。如果你想改变模型外观的时间跨度,你应该改变每一个&#34; everySec&#34;例如5秒延迟5秒。另外&#34;实例&#34;是我要渲染的模型列表(在你的情况下,是敌人)。