当前位置: 技术问答>java相关
闪烁问题
来源: 互联网 发布时间:2015-03-16
本文导语: public void update(Graphics g){ paint(g); } //--------------------------- 除了上边的方法 我是想大画图片,更新很快的,就会闪烁。希望大家能我想想改进的方法和,code | 闪烁的原因是因为调用repaint()...
public void update(Graphics g){
paint(g);
}
//---------------------------
除了上边的方法
我是想大画图片,更新很快的,就会闪烁。希望大家能我想想改进的方法和,code
paint(g);
}
//---------------------------
除了上边的方法
我是想大画图片,更新很快的,就会闪烁。希望大家能我想想改进的方法和,code
|
闪烁的原因是因为调用repaint()的时候,他总是先清除屏幕引起的。
用双面缓冲技术就可以很好的解决动画问题。
先建立一个草稿板,在草稿板上画好,再把草稿板作为一个Image对象添加到屏幕上
public void init()
{
workspace=createImage(size().width,size().height);//初始化一个工作区
offscreen=workspace.getGraphics();//把工作区与做图工具建立联系
}
public void paint(Graphics screen)
{
offscreen.drawRect(.....);在工作区画一个方块
screen.drawImage(workspace,0,0,this);把工作区放在屏幕的(0,0)处
}
public void update(Graphics screen)
{
paint(screen);//解决了闪烁问题。
}
别忘记给分,:)
用双面缓冲技术就可以很好的解决动画问题。
先建立一个草稿板,在草稿板上画好,再把草稿板作为一个Image对象添加到屏幕上
public void init()
{
workspace=createImage(size().width,size().height);//初始化一个工作区
offscreen=workspace.getGraphics();//把工作区与做图工具建立联系
}
public void paint(Graphics screen)
{
offscreen.drawRect(.....);在工作区画一个方块
screen.drawImage(workspace,0,0,this);把工作区放在屏幕的(0,0)处
}
public void update(Graphics screen)
{
paint(screen);//解决了闪烁问题。
}
别忘记给分,:)