我最近的一项 Java 作业(高中课程......)是制作一个小程序,在该小程序中绘制一个边框,一个球在屏幕上移动并在边框上弹跳。我安装了 Fraps,它报告说该小程序仅以 10 fps 的速度运行,这使得动画看起来非常平庸。
我绘制动画的原始方式:
- 调用我的方法:
drawScreen()
在paint()
- 暂停帧速率
Thread.sleep(1000/frameRate)
,drawScreen()
这是从html
- 称呼
repaint()
这工作得非常好,小程序像梦一样运行......直到我看到评分表,上面说我不能每次都重新绘制屏幕(可能是因为计算机异常缓慢,我的朋友一直在抱怨他们的小程序闪烁足以引起眼睛不适,并且到处流泪),我必须画一个球,然后再画一个与背景相同颜色的球来覆盖它,计算坐标,重复直到小程序退出
问题在于
repaint()
不能叫- 我的动画上限为 10 fps
- 没有可用的线程来响应我单击appletviewer 上的关闭,或applet/viewer 中的任何其他内容。
有没有办法让我的动画在不使用 10 fps 的情况下运行repaint()
?