如何设置具有刷新率的JFrame?[英] How do I set up a JFrame with a refresh rate?

问题描述

我有一个 2d 游戏,除了图形之外,整个结构都是完全编码的.我只是更新一个 JFrame 的单个组件,它是一个包含 50 个图像的图形.每一帧图像都位于不同的位置,因此需要刷新率.

为了绘制,我重写了 paintComponent() 方法,所以我真正需要做的就是每 40 毫秒重新绘制一次组件(同样,它只是一个图形).

如何设置 25FPS 的 JFrame?

推荐答案

这个 AnimationTest 使用 javax.swing.Timer.40 ms 的周期将产生 25 Hz 的速率.

private final Timer timer = new Timer(40, this);

附录:计时器的 ActionListener 通过调用 repaint() 进行响应,随后调用您重写的 paintComponent() 方法

@Override
public void actionPerformed(ActionEvent e) {
    this.repaint();
}

本文地址:https://www.itbaoku.cn/post/978541.html