定时器图片的移动闪的问题  
  窗体有一张背景图片,在窗体上放置一个图片是潜艇,潜艇每隔200毫秒往前移动20像素,为什么每移一下潜艇图片就闪一下,一道白光。  我记得有的时候做出来的小游戏不会闪,有的时候就会闪,请问大家有没有解决的办法? 

解决方案 »

  1.   

    gif
      

  2.   

     private Bitmap srcImage; 
            private Bitmap toDrawBeffor; 
            private Graphics gOfToDrawBeffor; 
            private Graphics gOfbuff; 
            private BufferedGraphicsContext ctx; 
            private BufferedGraphics bg; 
            private Graphics MyGraphics; MyGraphics = panel1.CreateGraphics(); 
    ctx = BufferedGraphicsManager.Current; 
    bg = ctx.Allocate(MyGraphics, new Rectangle(new Point(0, 0), panel1.Size)); 
    gOfbuff = bg.Graphics; 
    toDrawBeffor = new Bitmap(panel1.Width,panel1.Height); 
    gOfToDrawBeffor = Graphics.FromImage(toDrawBeffor); 
    ////////下面是你要做的 
    gOfToDrawBeffor.DrawLine(Pens.Blue, 0, 0, 1000, 1000); 
    //////上面是你要做的 
    gOfbuff.Clear(panel1.BackColor); 
    gOfbuff.DrawImage(toDrawBeffor, 0, 0); 
    bg.Render();