Я использую AndEngine для добавления спрайтов в сцену.
Все спрайты добавляются через интервал времени, которым я могу управлять через класс, который я создал для него.
Например, дляустановить время (в качестве секунды)
Timer timer = new Timer();
timer.setInterval(Float second);
Я создал этот метод, чтобы таймер мог меняться по мере необходимости во время взаимодействия пользователя с игрой.
Таким образом, когда спрайты добавляются в сцену, они перемещаются по оси Y в случайных местах.
У меня есть два интервала, которые они берут, чтобы контролировать максимальную продолжительность и минимальную продолжительность, необходимую для перемещения.по экрану.
Например ...
Private int MaxDurarion = 4;// 4 is equivalent to 4 seconds for this
Private int MinDuration = 2 //Same for minimum duration
У меня есть IUpdateHandler, который предназначен для обновления каждую секунду.
Так что в этом методе я обновляюоценка и другие вещи соответственно.
Теперь проблема заключается в том, чтобы проверить, достиг ли пользователь определенного балла, если он получил, то я хотел бы уменьшить максимальную продолжительность и минимальную продолжительность.
Например ..
if(userScore == MAX){
MaxDuration = MaxDuration - (int).2;
TimerSecond = TimerSecond - .1f;
}
Теперь я попробовал это таким образом, но я обнаружил, что Maxduration возвращается к исходному целому числу после каждого обновления.
Надеюсь, я объяснилэтого достаточно, что я пытаюсь сделать.
Есть ли лучший способ сделать это?
Спасибо, ребята.