我正在尝试使用摆动计时器来补偿帧速率不一致.我试过了:
class TimerListener implements ActionListener {
public void actionPerformed(ActionEvent e){
timeCur = System.currentTimeMillis();
timer.setDelay(speed - (int)(timeCur - timePrev));
repaint();
}
}
...
public void paintComponent(Graphics g){...
timePrev = System.currentTimeMillis();
}
speed=30;
private long timePrev=System.currentTimeMillis(),
timeCur=System.currentTimeMillis();无济于事.如何解决这个问题?
javax.swing.Timer事件调度线程上的触发实例,当帧速率过高时合并事件.你可以使用setCoalesce(false),但我没试过.此外,您可以比较您正在使用此示例执行的操作 ; 虽然它可以激活更少的粒子,但它会显示绘画时间并允许调整帧率.
| 归档时间: |
|
| 查看次数: |
351 次 |
| 最近记录: |