计时器设置在 800 毫秒的周期内,因此 RandomPositions() 总是会每 800 毫秒(周期)执行一次内部代码。现在,我想要的是每 20 秒或 20,000 毫秒将此数字减少 50,直到将周期变为 200 毫秒。
目标 -在游戏中,这必须每 20 秒逐渐提高速度。
例如:第一次执行 - 800 毫秒,第二次执行 - 750 毫秒,第三次执行 - 700 毫秒,依此类推...
我认为我可以插入一个整数类型的函数(而不是 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)