我在Java中缓冲对象时遇到了一些问题。我有这段代码(我正在尝试制作一个简单的平台游戏):
public void timeLoop() {
Timer t = new Timer();
TimerTask tt = new TimerTask() {
@Override
public void run() {
p.update(boxhandler.getObj());
repaint();
}
};
t.scheduleAtFixedRate(tt, 0l, 17l);
}
问题是游戏有什么滞后/划痕/回流无论它叫什么。这不是很大的延迟,但我现在将在改进我的代码的同时获得更多。
那么,我所展示的代码中有什么?我有一个TimerTask
的循环,它正在更新BoxHandler
类中保存的所有对象(它只是注册所有的tile并记录在列表中)然后我正在调用重绘所有类(它扩展{{1} })。
我想补充说,每一秒后游戏的速度会慢一点 - 物体在很短的时间内会减速并返回到正确的位置。
如何改进我的代码?我做不到更简单。我的游戏中有大约50个瓷砖,当我移动游戏角色时它会变慢。
我给出了这段代码,因为我认为这是我遇到问题的原因。