java中怎样让java 指定位置替换背景闪烁

在Java中,需要调用paint()方法将你所想要的东西画在你自己定义好的LaunchFrame()里面。但是如果每一次都立刻将Paint()方法里面的东西画到LaunchFrame()上,由于每一块显卡承受刷新频率的能力强弱不一样,所以很容易就出现了闪烁现象,现记录一种我最开始学习解决游戏闪烁现象的初级解决方案-----------双缓冲技术。
Java中可以利用repaint()方法进行游戏数据修改之后的重画,底层还需经过调用update(),所以我们可以重写update()方法来实现双缓冲技术,代码如下:
public void update(Graphics g) {
if (offScreenImage == null) {
offScreenImage = this.createImage(GAME_WIDTH, GAME_HIGHT);
Graphics goffScreen = offScreenImage.getGraphics();// 重新定义一个画虚拟桌布的画笔//
Color c = goffScreen.getColor();
goffScreen.setColor(Color.darkGray);
goffScreen.fillRect(0, 0, GAME_WIDTH, GAME_HIGHT);
goffScreen.setColor(c);
paint(goffScreen);
g.drawImage(offScreenImage, 0, 0, null);
paint()方法中传的画笔是goffScreen,再调用paint()方法将画在goffScreen的东西全部显示出来。
开一个线程,Sleep一段时间执行repaint()方法 private class PaintThread implements Runnable {
public void run() {
while (true) {
repaint();
Thread.sleep(100);
} catch (InterruptedException e) {
e.printStackTrace();
这样就可以消除一些初级的闪烁现象。
参考知识库
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:2922次
排名:千里之外
原创:12篇
(1)(1)(1)(1)(2)(2)(3)(5)(1)Java怎么用双缓冲解决重绘图片闪烁问题_百度知道
Java怎么用双缓冲解决重绘图片闪烁问题
Java我用paint重绘图片闪烁的厉害
我有更好的答案
早期的JAVA教程都会介绍这些内容,但从1.5开始JAVA的SWING控件已经做的很好了,完全没有这些问题,所以直接使用SWING控件不建议用以前的AWT控件,使用SWING控件就可以完全解决闪烁问题了你看的可能是比较老旧的JAVA教程吧
其他类似问题
为您推荐:
双缓冲的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁java消除闪烁
[问题点数:40分,结帖人lansongnian]
java消除闪烁
[问题点数:40分,结帖人lansongnian]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2012年8月 总版技术专家分月排行榜第三2012年7月 总版技术专家分月排行榜第三
2014年8月 高性能开发大版内专家分月排行榜第一2013年11月 高性能开发大版内专家分月排行榜第一2012年12月 Java大版内专家分月排行榜第一2012年11月 Java大版内专家分月排行榜第一2012年10月 Java大版内专家分月排行榜第一2012年9月 Java大版内专家分月排行榜第一2012年8月 Java大版内专家分月排行榜第一2012年7月 Java大版内专家分月排行榜第一2012年6月 Java大版内专家分月排行榜第一2012年5月 Java大版内专家分月排行榜第一2012年4月 Java大版内专家分月排行榜第一2012年3月 Java大版内专家分月排行榜第一2012年2月 Java大版内专家分月排行榜第一2012年1月 Java大版内专家分月排行榜第一
2012年8月 总版技术专家分月排行榜第三2012年7月 总版技术专家分月排行榜第三
2014年8月 高性能开发大版内专家分月排行榜第一2013年11月 高性能开发大版内专家分月排行榜第一2012年12月 Java大版内专家分月排行榜第一2012年11月 Java大版内专家分月排行榜第一2012年10月 Java大版内专家分月排行榜第一2012年9月 Java大版内专家分月排行榜第一2012年8月 Java大版内专家分月排行榜第一2012年7月 Java大版内专家分月排行榜第一2012年6月 Java大版内专家分月排行榜第一2012年5月 Java大版内专家分月排行榜第一2012年4月 Java大版内专家分月排行榜第一2012年3月 Java大版内专家分月排行榜第一2012年2月 Java大版内专家分月排行榜第一2012年1月 Java大版内专家分月排行榜第一
本帖子已过去太久远了,不再提供回复功能。关于java se的怎么用Update()来解决背景图片闪烁的问题 求高手帮忙
[问题点数:40分,结帖人vc]
关于java se的怎么用Update()来解决背景图片闪烁的问题 求高手帮忙
[问题点数:40分,结帖人vc]
不显示删除回复
显示所有回复
显示星级回复
显示得分回复
只显示楼主
2013年10月 Java大版内专家分月排行榜第二2013年3月 Java大版内专家分月排行榜第二2013年2月 Java大版内专家分月排行榜第二
2013年7月 Java大版内专家分月排行榜第三2013年5月 Java大版内专家分月排行榜第三2013年4月 Java大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。君,已阅读到文档的结尾了呢~~
扫扫二维码,随身浏览文档
手机或平板扫扫即可继续访问
如何消除Java动画中的闪烁现象
举报该文档为侵权文档。
举报该文档含有违规或不良信息。
反馈该文档无法正常浏览。
举报该文档为重复文档。
推荐理由:
将文档分享至:
分享完整地址
文档地址:
粘贴到BBS或博客
flash地址:
支持嵌入FLASH地址的网站使用
html代码:
&embed src='/DocinViewer-4.swf' width='100%' height='600' type=application/x-shockwave-flash ALLOWFULLSCREEN='true' ALLOWSCRIPTACCESS='always'&&/embed&
450px*300px480px*400px650px*490px
支持嵌入HTML代码的网站使用
您的内容已经提交成功
您所提交的内容需要审核后才能发布,请您等待!
3秒自动关闭窗口}

我要回帖

更多关于 java 指定位置写入 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信