CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Java >  J2SE / 基础类

我做了个俄罗斯方块游戏,不过屏幕闪动很大,有什么办法解决??谢谢

楼主lingang1234(吸血坏男孩)2002-11-23 01:20:31 在 Java / J2SE / 基础类 提问

我做了个俄罗斯方块游戏,不过屏幕闪动很大,有什么办法解决??谢谢 问题点数:60、回复次数:5Top

1 楼mercury1231(为论文而拼搏,老板就是上帝)回复于 2002-11-23 02:50:09 得分 0

可不可能只对局部进行刷新?Top

2 楼wukuan(阿伍)回复于 2002-11-23 17:46:59 得分 60

闪烁的原因是你作图的时候需要重绘背景,而且你每画一个图形,画面变化一次,这样就显得在闪烁。  
          解决的办法是使用双缓冲技术,方法是:先将所有的图形画到一个看不到的东西上,然后一次性的把整张图画到要显示的地方。  
          具体做法:java里有一个类叫做Image,可以把他看作是一个画画的地方,不能直接看到他,他上面是可以作画的,先把所有的东西画到一个Image  
  上,假如显示的地方是一个JPanel,使用JPanel的Graphics的drawImage方法  
  可以把那个Image画到JPanel上,也就是显示出来。这样子就不会出现闪烁了。而且,窗体重绘的时候也只需要把Image重新画到JPanel上就行了。        
          Image   img;     //   生成引用  
          ......  
          img   =   jPanel1.createImage(width,length....);   //   Image   不能new   ,  
                                    //   只能这样子创建,假设显示区域是jPanel1  
          .....  
          img.getGraphics().drawRectangle(...)   //画矩形  
          img.getGraphics().drawOval(..)   //   画圆  
          ......  
          .....  
          jPanel1.getGraphics().drawImage(   img,   ...._)   //   显示出来  
          ......  
          搞定。  
  Top

3 楼sunni(死猪)回复于 2002-11-23 23:35:40 得分 0

楼上说的对   不过你也看看自己的代码   是不是还有什么要优化的Top

4 楼cno(一一)回复于 2002-11-26 15:51:00 得分 0

队,重复刷新太多Top

5 楼shangxinyu123(龙)回复于 2002-12-13 23:48:07 得分 0

对的,我也做了一个俄罗斯方块,在他预显示的地方闪的比较多Top

相关问题

  • 俄罗斯方块
  • 俄罗斯方块问题
  • 俄罗斯方块VS2005版
  • 俄罗斯方块(自动打)
  • 俄罗斯方块高手请进!!!
  • 想玩俄罗斯方块的进来!!
  • 如何用VC作俄罗斯方块?
  • 关于俄罗斯方块的问题。
  • 关于俄罗斯方块的问题。
  • 求俄罗斯方块源程序

关键词

  • 俄罗斯方块
  • 解决
  • jpanel
  • 办法
  • getgraphics
  • 显示
  • 闪烁
  • img
  • 地方
  • image

得分解答快速导航

  • 帖主:lingang1234
  • wukuan

相关链接

  • CSDN Java频道
  • Java类图书
  • Java类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo