таймер установлен на период 800 миллисекунд, поэтому всегда RandomPositions () будет выполнять внутренний код каждые 800 миллисекунд (период). Теперь я хочу, чтобы уменьшало это число на 50 каждые 20 секунд или 20 000 миллисекунд , пока оно не получит период до 200 миллисекунд.
ЦЕЛЬ - В ИГРЕ ЭТО ДОЛЖНО БЫТЬ УВЕЛИЧЕНО СКОРОСТЬ КАЖДЫХ 20 СЕКУНД.
пример:
первое исполнение - 800 миллисекунд,
второе исполнение - 750 миллисекунд,
третье исполнение - 700 миллисекунд,
и так далее ...
Что я думаю, так это то, что я мог бы вставить функцию типа Integer (вместо 800), которая может уменьшить эту работу с 800 до 200 миллисекунд.
Как я могу сделать эту функцию? или есть другое решение?
public void RandomPositions() {
Timer timer = new Timer();
timer.scheduleAtFixedRate(new TimerTask()
{
public void run() {
getWindowManager().getDefaultDisplay().getMetrics(displaymatrics);
float dx = r.nextFloat() * displaymatrics.widthPixels/1.2f;
float dy = r.nextFloat() * displaymatrics.heightPixels/1.2f;
button.animate().x(dx).y(dy).setDuration(0);
}
}, 0, 800); // first value = Delay , Second value = Period(what I need to change)