用双缓冲是不是就是说将图像在内存中画.但是现在是这样的,海图画的很慢的,如果每次船舶位置改变都要重画海图,即使在内存中,速度也不会快的.
能不能就改变实际更新的区域呢,就是说,我将船舶的位置重新画一下?该怎么做到呢?

解决方案 »

  1.   

    用两个内存分别表示海图和船舶。海图在内存中只需画一次,以后每次直接从内存到屏幕,再大的图都ok。船舶如果不改变状态只改变位置,也只需画一次。以后每次只是先将海图和船只拷贝只屏幕。
      

  2.   

    用两个内存?能写段代码看看么?
      

  3.   

    那你就把海图加在INIT()方法中,再加上UPDATE()重画时:
    g.getBackground();
       .......
    g.getForeground();
    g.panit();
      

  4.   

    海图在漫游的时候也需要重画,不过重画的频率不是那么频繁
      

  5.   

    我试着全在内村中画。然后再贴到屏幕上,但是当海图移动时,屏幕的图像没有把原来的查掉?这是怎么回事?
      

  6.   

    用双缓冲
    或者优化代码
    比如提前将图片存在内存中进行调用
    而不是随时调用本地硬盘数据
    优化画图过程