我在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;
}
}
答案 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;是我要渲染的模型列表(在你的情况下,是敌人)。