我正在做一个需要我能够在画布上放大和缩小的项目。我正在使用以下方法:
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,主类的基类,很抱歉有任何混淆。