あなたは、このようにタイマーを使用することができます。
Timer timer=new Timer();
timer.scheduleTask(new Timer.Task() {
@Override
public void run() {
spawnLeaf();
}
},10,20); // --> 10 is your first delay and 20 is interval in sec.
私はSprite
としてリーフを検討しているが、それはImage
またはその他のEntity
かもしれません。
spriteBatch.begin();
Iterator<Sprite> iter = leaves.iterator();
while (iter.hasNext()) {
Sprite spr = iter.next();
spr.draw(spriteBatch);
spr.setY(spr.getY()-50f*Gdx.graphics.getDeltaTime());
if (spr.getY()<0)
iter.remove();
}
spriteBatch.end();
Timer
すべての葉の
Array<Sprite> leaves=new Array<Sprite>();
private void spawnLeaf(){
Sprite sprite=new Sprite(texture);
sprite.setPosition(MathUtils.random(Gdx.graphics.getWidth()),Gdx.graphics.getHeight());
leaves.add(sprite);
}
ドローと位置更新部分のすべてのスケジュールされたタスクを除去するのに役立つclear()
とstop()
方法があり、それぞれのタイマーを停止します。ここでは
は私のspawnLeaf
方法がありますそれは再び始まるかもしれません。