java动画 闪烁不清
我用java的Jfram做简单的小球运动动画,但播放时闪烁的离谱,几乎看不清动画,但相同代码用别的电脑尝试则播放的很顺畅,请高人指点如何改进我电脑播放闪烁的问题??!!...
我用java的Jfram做简单的小球运动动画,但播放时闪烁的离谱,几乎看不清动画,但相同代码用别的电脑尝试则播放的很顺畅,请高人指点如何改进我电脑播放闪烁的问题??!!
展开
2个回答
展开全部
可尝试使用双缓冲技术
不知道楼主问题解决了没有?
双缓冲大概来讲就是先将所有的动画底图写入到一个BufferedImage/Image对象里面,然后再窗体上整体呈现这个BufferedImage对象,从而成功避免闪烁。手机的游戏一般都用双缓冲。只要技术手段的当,哪怕像手机这种硬件很弱的设备都没有问题。
针对你这个情况可以重写JFrame的paint方法,然后用线程或者Timer定时调用repaint();就行啦。重写的paint方法大可如下:
public void paint(Graphics g) {
// Double buffering insure the screen wouldn't flash.
BufferedImage bi = new BufferedImage(480, 520, BufferedImage.TYPE_INT_ARGB);
Graphics bufferGraphics = bi.createGraphics();
/*
* 绘图绘图绘图
*/
//呈现画面
g.drawImage(bi, 0, 0, this);
}
不知道楼主问题解决了没有?
双缓冲大概来讲就是先将所有的动画底图写入到一个BufferedImage/Image对象里面,然后再窗体上整体呈现这个BufferedImage对象,从而成功避免闪烁。手机的游戏一般都用双缓冲。只要技术手段的当,哪怕像手机这种硬件很弱的设备都没有问题。
针对你这个情况可以重写JFrame的paint方法,然后用线程或者Timer定时调用repaint();就行啦。重写的paint方法大可如下:
public void paint(Graphics g) {
// Double buffering insure the screen wouldn't flash.
BufferedImage bi = new BufferedImage(480, 520, BufferedImage.TYPE_INT_ARGB);
Graphics bufferGraphics = bi.createGraphics();
/*
* 绘图绘图绘图
*/
//呈现画面
g.drawImage(bi, 0, 0, this);
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询