我正在做一个包括物理和图形引擎的游戏引擎.现在,我的图形引擎设置为60 fps,有时我注意到屏幕上更新缓慢.我有一个JFrame,我在其中添加了一个JPanel来移动,这意味着图形引擎在每个循环中都执行frame.repaint().我开始相信,框架上的重新粉刷会在屏幕上产生很小的延迟.
延迟使JPanel沿直线移动,突然,它可能会比平时跳得更远.
最好将JPanel“ gameField”放在JFrame上,然后将JPanel“ player”添加到gameField并重新绘制gameField吗?还是与重新粉刷JFrame基本相同?我刚刚听说JFrame应该是很重的组件.
我尝试设置更高的fps,但没有任何改变.
解决方法:
看看这个页面here,虽然有很多读物,但是应该包含您所需要的大部分内容.
编辑:此页面here更加简洁
该堆栈溢出后的here处理了双重缓冲.
不过,我能给您的最好建议是找到“ Java杀手游戏编程”的副本.您可以轻松地从网上免费获得旧版电子书.很多东西有些过时了,但是前几章涉及制作游戏循环和写入缓冲区仍然很重要,从长远来看将对您有很大帮助!
标签:swing,jpanel,jframe,java 来源: https://codeday.me/bug/20191201/2082491.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。