変更案: 画面の拡大モードの仕様を変える

Issue #138 resolved
k4nagatsuki repo owner created an issue

現在の拡大モードには問題があります。

  • 精密に組み合わされた背景がずれます。
  • 1.5倍にすると生命力の表示等が若干おかしくなります。
  • 1.4倍にするとメッセージとバーの間に隙間が発生します。
  • 2倍以外でJPDCで画面を撮影すると再表示した時にひどくぼやけます。

これらはすべて拡大率に端数が出るための問題です。この他にも問題は出るはずです。

これを根本的に解決するのは難しいです。現在、次のようにする事を考えています。

  • 拡大率を「描画サイズ」と「表示サイズ」に分ける。
  • 描画サイズは、実際に画面を構築する際のサイズ。1倍、2倍、4倍等しか選べないようにする。
  • 表示サイズは、描画が終わった画面をモニタ上に表示する際のサイズ。端数もOKで、フルスクリーン設定もここで適用される。

ここで描画サイズを2の乗数限定にすれば全ての問題が片付きます。表示サイズは画面構築が終わった後に適用されるので、画面のパーツがずれたりする事はなくなります。

問題は各種ダイアログを開いた時のサイズをどうするかです。現在のフルスクリーンで1倍で表示されるように、ダイアログのみは表示サイズとは無関係にして描画サイズのままで表示するのが妥当なように思えますが……。

何か問題やアイデア等あればご指摘ください。

Comments (6)

  1. k4nagatsuki reporter

    とりあえず次の形でダイアログとpygame画面で異なる拡大率を実現します。

    • 拡大率cw.UP_SCRに加えてwx側拡大率cw.UP_WINを追加し、wx側はそれを使って拡大するようにする
    • 一部pygame側で生成してからwx側で使用する画像はcw.UP_WIN / cw.UP_SCRの拡大率でリサイズするようにする

    その過程で#77の問題も解決できると思います。

  2. k4nagatsuki reporter

    pull request #330

    Issue #158の作業中に問題に対応したためcommitが混在しています。

    Issue #77の問題はこれで解決として、後はほとんど設定ダイアログの変更のみで対応できると思います。

  3. k4nagatsuki reporter

    pull request #341

    描画サイズは2の乗数である必要があるものの、内部的には端数も設定可能(前バージョンからの設定引き継ぎで端数つき拡大率がついていた場合はこの状態になる)。

  4. Log in to comment