WSN追加案: カード画像の配置方法の指定(中央寄せ・左上合せなど)

Issue #336 resolved
k4nagatsuki repo owner created an issue

現在のカード画像の台紙に対する配置方法は以下のようになっています。

  • キャストカード(大きなカード)の場合、74×94の画像を配置した時の中心位置に、カード画像の中心位置が合うように配置
  • メニューカード(通常サイズのカード)の場合、左上の位置が合うように配置

これらはおそらくエンジン開発時に検討されて決められた仕様ではなく、単なる未定義動作がたまたまこのように実装されているものと思います。74×94以外の画像を正当に選択できるようになった現在では、これを任意に指定できた方がよいでしょう。

Comments (7)

  1. k4nagatsuki reporter

    何分大きな変更なので、しばらくのあいだバグ報告用にこのIssueはクローズしないでおきます。

  2. Liar_cw NA

    Issue #415 より。

    1.キャラクター情報ダイアログに表示されるが画像が、左上ではなく中心が表示されました。PCとWsn.1形式のシナリオにて確認。

    そういえばCWではそうでしたね。これは未定義動作がたまたまそうなっているせいですが、それを利用したシナリオがあったような気もします。今回の新機能でそうならなくなったのは、キャストカードは本来真ん中を基準に表示するので、それに合わせないと複数重ねたイメージを正確に表示する事ができなくなるからです。

    とりあえず互換性問題を避けるために位置指定も複数レイヤも使用していない場合はこれまで通りの表示にするようにしましたが、どうもすっきりしない解決策です。

    私個人としては、実際に この未定義動作と画像レイヤを利用したシナリオ(Wsn.1)を ギルドにて公開(更新)させて頂いていますので、 CWの挙動も指定できると嬉しいです。

    具体的な使い方は、キャストカードまたはキャラクター情報ダイアログのどちらかにしか表示されない、といったものです。

  3. k4nagatsuki reporter

    重ね合わさったイメージの表示でカード上にある時とキャラクター情報ダイアログにある時で異なるのは、よくない事のように思います。狙った場合以外は、作者の意図に反してそういう風に動いてしまうからです。それに、そうした効果を狙う場合は、それ用にきちんと画像を指定できるような機能を仕様として追加するべきです。

    そこで、さしあたっては以下のようにするのではいかがでしょうか。

    • Wsn.2以降では、キャストカードと同じように表示する。
    • Wsn.1以前またはクラシックなシナリオでは、位置指定が無ければCW通りの表示とする。

    この場合、シナリオのデータバージョンをアップデートした場合には、手動で問題のカードの設定をやり直す必要があります。

  4. Liar_cw NA

    仰るとおりです。狙うにしても画像の微調整に苦労しました。 新しく別の機能として追加されるのであれば、これ以上にありません。


    Wsn.2以降では、キャストカードと同じように表示する。

    Wsn.1以前またはクラシックなシナリオでは、位置指定が無ければCW通りの表示とする。

    Wsn.1(CardWirthPy 1)以前をCW1.28やCW1.50等と同じ様に扱うかそうでないかで変わりそうですね……。 すみません、私からはなんともいえません。 @k4nagatsukiさんのご判断に従います。

  5. k4nagatsuki reporter

    すいません、ちょっと考えを変えました。Wsn.1からWsn.2へ変更して保存しただけで正しく動かなくなるという部分は、無いに越した事は無いです(そうもいかない場合も出てくるとは思いますが)。これはクラシック→Wsn.1-2の変換の場合も同様です。

    また、表示を切り替える新しい方法を用意するとしても、それがいつになるかまだ分かりませんし、表示を整合性が取れるように変えてしまうのは、その機能ができてからでも間に合うはずです。その間に、できればシナリオ作者が何もせずに済むような方法を考えるべきです。

    とりあえずpull request #1583で、配置指定が無い場合は従来の表示になるようにしておきました。

  6. Log in to comment