1

我正在做一个需要我能够在画布上放大和缩小的项目。我正在使用以下方法:

setSize(new Dimension(WIDTH * scale, HEIGHT * scale));

然后从那里修改比例变量。这行得通,除了大多数时候我会得到一个恼人的闪烁。它是三重缓冲的,所以我真的不明白如何将画布转换为合适的大小需要那么长时间......

无论如何,如果有什么我想念的,我很想知道。

这是我的 update() 方法:

public void update() {
    updateCount++;

    if (input.mouseWheel.getNotchesMoved() != 0 && SCALE >= MIN_SCALE
            && SCALE <= MAX_SCALE) {
        SCALE += input.mouseWheel.getNotchesMoved();
        if (SCALE > MAX_SCALE)
            SCALE = MAX_SCALE;
        if (SCALE < MIN_SCALE)
            SCALE = MIN_SCALE;
        setSize(new Dimension(WIDTH * SCALE, HEIGHT * SCALE));
    }
    input.refresh();
}

提前致谢,

编辑:当我说“Canvas”时,我的意思是 java.awt.Canvas,主类的基类,很抱歉有任何混淆。

4

0 回答 0