キャンバスをズームインおよびズームアウトできるようにする必要があるプロジェクトに取り組んでいます。私は方法を使用しています:
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();
}
前もって感謝します、
木
編集: 「キャンバス」と言うときは、メイン クラスの基本クラスである java.awt.Canvas を意味します。混乱を招いて申し訳ありません。