我正在创建一个游戏,其中涉及在2-10个像素之间的1000个填充圆圈,以50Hz的频率在一个大jpanel之间。
。我当前的执行方式是通过通过JPanel本身调用DrawoLAL方法来绘制每个圆圈。但是,这非常慢,并以某种方式设法将游戏运行时间增加了50%。
因此,我想到了使用缓冲图:创建缓冲图像,然后在缓冲图像上绘制填充圆圈。然后一口气将整个缓冲图像绘制到jpanel上。这种方法会比我的原始方法快吗?在两种情况下,在1000左右的1000左右使用绘制本身是否使用?
我怀疑,每当这种像素没有更改颜色时,再次打印相同的像素会浪费很多处理。有没有办法避免重新粉刷如此多余的像素?
如果创建drawpanel,则不需要实例变量。DrawPanel
位于Javax.swing
软件包中。
创建椭圆形你
- 创建一个drawpanel
- 将Drawpanel添加到Jframe
示例:
private class MyDrawPanel extends JPanel
{
public void paintComponent(Graphics g)
{
g.fillRect(0,0,this.getWidth(),this.getHeight());
g.setColor(Color.white);
g.fillOval(90,180,150,150)
}
}