Re: バグ報告スレッド 14 [ No.132 ]
メンテ
 2024/06/17 01:02
 YADO
ウディタ[3.342]で動作確認。

コモンイベント[090:X[移]キャラクター欄描画]の124行目に追加した
■変数操作: CSelf84[状態異常位置Y] *= CSelf88[座標倍率X[x10]] + 0

■変数操作: CSelf84[状態異常位置Y] *= CSelf89[座標倍率Y[x10]] + 0
にしないと、[16:9]の画面比率の時に、不自然な表示になります。


下記は、124行目の修正後に発生する別の不自然な表示についての報告です。

テストプレイを実行し、「最大HP増加」のような状態異常を付与してメニュー画面を表示した場合、
画面比率が[4:3]の時には顔枠の内側の右下に合うように状態異常が表示されますが、
[16:9]の時は顔枠の外側に状態異常のX位置が設定されて、
顔枠の線に状態異常が重なって表示されます。

この原因は、顔枠がゲーム画面の縦サイズに合わせて顔枠のサイズが設定されているためであり、
[4:3]の時と比べて[16:9]の時には、顔枠のサイズが小さくなります。
一方、状態異常の表示位置は、[4:3]の時の顔枠サイズに合わせてX位置が設定されるため、
小さく表示された顔枠の外側に状態異常が表示されるようになっています。

もしも[4:3]と同様に、[16:9]でも顔枠の内側の右下に状態異常が表示されるようにする場合は、
以下のようなX位置を補正する処理が必要です。

▼コモン[090:X[移]キャラクター欄描画]の123行目以降(3.342で追加した分と合わせた設定例)
■変数操作: CSelf83[状態異常位置X] *= CSelf88[座標倍率X[x10]] + 0
■変数操作: CSelf84[状態異常位置Y] *= CSelf89[座標倍率Y[x10]] + 0
■変数操作: CSelf60[顔グラ位置X]〜CSelf84[状態異常位置Y] /= 10 + 0
▼ ゲーム画面比率[16:9]用の状態異常のX位置補正処理
■変数操作: CSelf10[一時変数A] = 48 * CSelf88[座標倍率X[x10]]
■変数操作: CSelf10[一時変数A] -= 48 * CSelf89[座標倍率Y[x10]]
■変数操作: CSelf83[状態異常位置X] -= CSelf10[一時変数A] / 20
WoditorEvCOMMAND_START
[121][4,0]<0>(1600083,1600088,0,768)()
[121][4,0]<0>(1600084,1600089,0,768)()
[121][5,0]<0>(1600060,10,0,66560,24)()
[103][0,1]<0>()("ゲーム画面比率[16:9]用の状態異常のX位置補正処理")
[121][4,0]<0>(1600010,48,1600088,8192)()
[121][4,0]<0>(1600010,48,1600089,8704)()
[121][4,0]<0>(1600083,1600010,20,12800)()
WoditorEvCOMMAND_END