giegiemen解惑:这段双缓冲代码没效果,画了以后,整个窗口就不动了

这段双缓冲代码没效果,画了以后,整个窗口就不动了

private Image offScreenImage == null@Override
    public void paint(Graphics g){   // g是一只画笔  系统会自动调用paint

        g.drawImage(bj,0,0,Constant.GAME_WIDTH,Constant.GAME_HEIGHT,null);
        p1.drawMyself(g);

        if (left){ p1.x -= p1.speed; }
        if (right){ p1.x += p1.speed; }
        if (up){ p1.y -= p1.speed; }
        if (down){ p1.y += p1.speed; }
    }

    public void update(Graphics g){
        if (offScreenImage == null){
            offScreenImage = this.createImage(Constant.GAME_WIDTH,Constant.GAME_HEIGHT);//这是游戏窗口的宽度和高度

            Graphics gOff = offScreenImage.getGraphics();
            paint(gOff);
            g.drawImage(offScreenImage, 0, 0, null);
        }
    }