JFrame与JPanel

时间:2012-02-29 21:45:52

标签: java swing jframe jpanel

我正在做一个包括物理和图形引擎的游戏引擎。现在我的图形引擎设置为60 fps,有时我注意到屏幕上的更新速度很慢。我有一个JFrame,我添加了一个JPanel移动到周围,这意味着图形引擎每个循环都执行frame.repaint()。我开始相信这个重新绘制框架会在屏幕上产生小延迟。

延迟使得JPanel以直线移动,并且突然它可以比平时跳得更远。

将JPanel“gameField”放在JFrame上然后将一个JPanel“播放器”添加到gameField并重新绘制gameField会更好吗?或者它与重绘JFrame基本相同?我刚刚听说JFrame应该是一个重要组件。

我尝试过设置更高的fps,不会改变任何内容。

1 个答案:

答案 0 :(得分:3)

查看此页面here,它有很多阅读内容,但应该包含您需要的大部分内容。

编辑:此页here有点简洁

这个堆栈溢出帖子here处理了双缓冲。

我能给你的最佳建议是找到一本用Java编写的杀手游戏编程副本。您可以轻松地从网上免费获得旧的电子书版本。很多东西都有点陈旧,但前几章涉及制作游戏循环和写入缓冲区仍然非常相关,从长远来看会帮助你很多!