我正在使用 Java 制作游戏,目前我正在使用 Timers 来处理我的所有动画和游戏控件。但是我无法选择正确的方法来提高计时器的速度。随着游戏的进行,我的游戏应该越来越快,我发现有很多方法可以提高我的对象的速度,但我不确定哪一种最有效。
例如,假设 intxpos
是增加对象 xposition 的变量。
Timer timer = new Timer(100, new ActionListener() //01
{ //02
public void actionPerformed(ActionEvent e) //03
{ //04
xpos++; //05
repaint(); //06
} //07
} //08
//09
timer.start(); //10
为了提高速度,我可以将第 5 行的 xpos 增量增加到xpos+=2
.
我还可以通过将 Timer 的毫秒参数减小到:Timer timer = new Timer(50, new ActionListener()
在第 1 行来提高速度。
或者我可以添加第二个 Timer,它会执行相同的任务以使计时器的速度加倍。基本上,我可以这样做:
Mover mover = new Mover();
Timer timer = new Timer(100, mover);
Timer timer2 = new Timer(100, mover);
timer.start();
timer2.start();
class Mover implements ActionListener
{
public void actionPerformed(ActionEvent e)
{
xpos++;
repaint();
}
}
你认为哪一个最有效?还是我应该结合所有这些技术?感谢您的任何回复。