【发布时间】:2015-04-25 20:37:52
【问题描述】:
我正在用 Java 编写一个小游戏。我使用 Graphics2D 制作我的图形,创建一个 JPanel,覆盖它的 paint(Graphics g) - 方法,通过将其设置为 ContentPane 在 JFrame 中显示它。
效果很好。
现在我使用Fraps 来测试我的程序性能。 Fraps 显示 FPS 通常在某个角落,没问题。但是当我达到创纪录的 btton 时,java 崩溃了。在 NetBeans 控制台中显示:Java Result: -1073740771
这里有一些代码:
final JFrame window = new JFrame();
window.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
window.setExtendedState(JFrame.MAXIMIZED_BOTH);
final JPanel myPanel = new JPanel() {
@Override
public void paint(Graphics g) {
BufferedImage img = world.renderImage(new Point(getWidth(), getHeight()));
g.drawImage(img, 0, 0, null);
}
};
window.setContentPane(myPanel);
window.setVisible(true);
new Thread() {
public void run() {
while (true) {
myPanel.repaint();
try {
Thread.sleep(20);
} catch (InterruptedException ex) {
}
}
}
}.start();
这是什么意思?我怎样才能避免这种情况?
感谢任何遮阳篷
埃里克·布伦德尔
【问题讨论】:
-
您能发布(部分)您的项目吗?当我启动 Fraps 和一个带有一些图形的 Java 项目时,我根本看不到 FPS 值。您的游戏是否使用 OpenGL(因为 Fraps 支持 OpenGL 和 DirectX)?