Хорошо, мне нужно знать, есть ли более эффективный способ сделать это.
Я использую AndEngine для размещения спрайтов на сцене в методе.
Теперь на протяжении всей игры я обновляю интервалы, когда должны появляться Спрайты.
Я обновляю интервалы по всему коду.
Например, у меня есть таймер, который добавляет спрайты с интервалом, и я могу изменить интервал
private void speed(int f, int g, int h){
this.nextSprite1Time = f;
this.nextSprite2Time = g;
this.nextSprite3Time = h;
Log.d("Time Changed", String.valueOf(this.nextSprite1Time+ "," + this.nextSprite2Time + ","+ this.nextSprite3Time));
}
Когда этот метод запущен, происходит задержка в 3 секунды, и он останавливается.
Как можно избежать этого с помощью безопасных потоков или чего-то еще?
Есть предложения?
РЕДАКТИРОВАТЬ: Вот мой обработчик времени.
mScene.registerUpdateHandler(new TimerHandler(0.02f, true, new ITimerCallback() {
@Override
public void onTimePassed(TimerHandler pTimerHandler) {
addSpriteTime1 += 2; // because timer update = 0.02 seconds
if (addSpriteTime1 >= nextSprite1Time) {
addFace();
addSpriteTime1 -= nextSprite1Time;
}
addSpriteTime2 += 2;
if (addSpriteTime2 >= nextSprite2Time) {
addFace2();
addSpriteTime2 -= nextSprite2Time;
}
addSpriteTime3 += 2;
if (addSpriteTime3 >= nextSprite3Time) {
addFace3();
addSpriteTime3 -= nextSprite3Time;
}
}
}));