画布缓冲屏尺寸

时间:2013-10-25 14:20:11

标签: java canvas size buffering

我在扩展Canvas的类中编写了这些代码。 (如果您不想阅读,请查看这些链接上的图片,由于stackoverflow声誉或其他原因,我无法直接发布图片) http://tinypic.com/r/oaw3u8/5 http://tinypic.com/r/24g9ldz/5

    final static int WIDTH = 800;
    final static int HEIGHT = 600;
    Dimension SIZE = new Dimension(WIDTH, HEIGHT);

    Game() {
    setPreferredSize(SIZE);
    **
    **
    *
    *
}


    public void render() {
    BufferStrategy bs = getBufferStrategy();
    if (bs == null) {
        createBufferStrategy(3);
        return;
    }
    Graphics g = bs.getDrawGraphics();
    g.setColor(Color.cyan);
    Graphics2D g2 = (Graphics2D) g;
**g.fillRect(0, 0, getWidth(), getHeight());**
    g.dispose();
    bs.show();
}

问题是关于双重代码行,用于通过绘制屏幕大小的矩形来刷新屏幕。 **第一次,我的代码是         g.fillRect(0,0,WIDTH,HEIGHT);
然后我注意到黑色矩形小于屏幕。在框架的右侧有一个小的,大约1英寸的边距。(我可能会使用“边距”错误,但我希望你明白我的意思)  所以我使用getWidth(),getHeight()而不是使用确切的变量WIDTH和HEIGHT。 而且效果很好,
我不知道原因是什么? 请帮助我为什么会发生这种情况,在这种情况下变量不准确?或者是什么 。 非常感谢你

0 个答案:

没有答案
相关问题