バグ: バトル時、拡大率が変更されたカードの画像の表示が乱れる

Issue #415 resolved
Liar_cw NA created an issue

バグ: バトル時、拡大率を変更したカードの画像の表示が乱れる

バグ報告です。

バトル時、拡大率の変更された敵キャストを攻撃するなどして選択状態になったときなどに 画像の表示位置がおかしくなります。 拡大されていると右下へ、縮小されていると左上へとカードの画像が移動してしまいました。

  • キャストカードの画像の大きさは関係なし。74x94でもそれ以上でも発生。
cardwirthpy_20160925b
CardWirthPy 1.1
Build: 2016-09-25 16:38:37

Comments (9)

  1. tachi gigas

    恐れ入ります。

    問題点を洗い出してみると、 pull request #1573 でカード画像を中央に配置する機能が追加されていますが、それが予想外の状態でONになっているのでしょうね。それなりの改修なので、ちょっと読み解くのは大変ですが…。

  2. tachi gigas

    整いました。やったことはこちらです。

    https://bitbucket.org/tachi_gigas/cardwirthpy-reboot-lessor/commits/8eecea8701c3f73d381f77b8b1d5868e7c058d6f

    で、今からPull Requestしますが、これは正式な解であるとは全く存じませんし、全く以てk4nagatsuki様にとっては面倒なものでしかなく、誠に不徳の至る所です。なぜならば、これからk4nagatsuki様が手を加えていく箇所にございますので。

    恐れ入りますが、この修正を適用した私家改造版をお試しいただけませんか。設定ファイルは共有されない事と年齢認証が必要なのでご注意下さい。

    https://sites.google.com/site/tachigigas1/cwpy

  3. k4nagatsuki repo owner

    @tachi_gigasさんの修正をマージし、その後pull request #1575で上書きしました。

    私のやりかけの部分で発生したバグだったので、結果的には作業の完了と共に全部上書きの形になったのですが、調査・作業していただけた事は本当に助かりました。ありがとうございました。

  4. Liar_cw NA reporter

    ええと、修正の確認の報告がまだでしたのでこちらで追加の報告もさせていただきます。

    バトル時に拡大率が変更されているカード画像の位置のズレは発生しなくなりましたが、 それとはまた別の問題が発生しています。

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

    2. 登録後のPCの画像が変更できません。登録ボタンを押しても適用されず、未指定状態になってしまいます。異常発生直後は画面下段のカード画像だけは維持されますが、冒険の中断などを挟むとそちらも消失。エラーログを吐きました。

    cardwirthpy_20160926
    CardWirthPy 1.1
    Build: 2016-09-26 06:59:17
    
    デザインからの変更
    Traceback (most recent call last):
      File "cw\dialog\create.pyo", line 2045, in OnOk
      File "cw\sprite\card.pyo", line 690, in set_images
      File "cw\character.pyo", line 259, in set_images
      File "cw\image.pyo", line 35, in set_attr
    AttributeError: 'CWPyElement' object has no attribute 'postype'
    
    デバッグモードキャラクター編集での変更
    Traceback (most recent call last):
      File "cw\debug\charaedit.pyo", line 221, in OnOkBtn
      File "cw\debug\charaedit.pyo", line 616, in put_params
      File "cw\sprite\card.pyo", line 690, in set_images
      File "cw\character.pyo", line 259, in set_images
      File "cw\image.pyo", line 35, in set_attr
    AttributeError: 'CWPyElement' object has no attribute 'postype'
    
  5. k4nagatsuki repo owner

    ありがとうございます。エラーは修正しました。

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

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

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

  6. Liar_cw NA reporter

    報告内容 1・2ともに正常に動作することを確認しました。 確認はPCとWsn.1形式のシナリオで行いました。

    cardwirthpy_20160926d
    CardWirthPy 1.1
    Build: 2016-09-26 22:04:38
    
  7. Liar_cw NA reporter

    未定義動作についてですが、 Issue #336 へ書き込んだほうが良いと判断して、 そちらへ書き込ませていただきました。

    それでは、こちらの Issue は閉じますね。

  8. Log in to comment