Re: バグ報告スレッド 12 [ No.164 ]
メンテ
 2018/05/28 00:51
 n
低コストで直せそうなバグの修正予定とのことですのでとりあえず私が見つけたものを追加報告致します。


「アニメ速度中・待機時アニメ無し・パターン2」のイベントに「合計16フレーム間隔でパターン1に変更・パターン2に変更」を2回加えると何故か一瞬パターン3になります。
例えば

■回数付きループ [ 16 ]回
|■動作指定:Ev0 / パターン1に変更
|■ウェイト:2 フレーム
|■動作指定:Ev0 / パターン2に変更
|■
◇ループここまで◇◇
■ウェイト:60 フレーム



■回数付きループ [ 2 ]回
|■動作指定:Ev0 / パターン1に変更
|■ウェイト:8 フレーム
|■動作指定:Ev0 / パターン2に変更
|■
◇ループここまで◇◇
■ウェイト:60 フレーム



■回数付きループ [ 2 ]回
|■動作指定:Ev0 / パターン1に変更
|■ウェイト:9 フレーム
|■動作指定:Ev0 / パターン2に変更
|■ウェイト:60 フレーム
|■動作指定:Ev0 / パターン1に変更
|■ウェイト:7 フレーム
|■動作指定:Ev0 / パターン2に変更
|■
◇ループここまで◇◇
■ウェイト:60 フレーム


というコマンドを入れると理論上Ev0は「パターン2のまま」もしくは「パターン1に変化してからパターン2に戻る」のはずですが実際は一瞬パターン3になってからパターン2になります。

動作指定の間隔が合計15フレーム以下だったり17フレーム以上の場合は異常は起こりません。
例えば、

■回数付きループ [ 2 ]回
|■動作指定:Ev0 / パターン1に変更
|■ウェイト:9 フレーム
|■動作指定:Ev0 / パターン2に変更
|■
◇ループここまで◇◇
■回数付きループ [ 2 ]回
|■動作指定:Ev0 / パターン1に変更
|■ウェイト:7 フレーム
|■動作指定:Ev0 / パターン2に変更
|■
◇ループここまで◇◇
■ウェイト:60 フレーム

の場合は理論どおりパターン1に変化した後パターン2に戻ります。

私が調べたところこのフレーム数はアニメ速度の設定依存で変化するようです。
「アニメ速度中」の場合以外での条件はまだつきとめられていません。
調査・単純化のため回数付きループとウェイトを使って記述していますが、途中に他のコマンドやキー入力を挟んでいても間隔の合計が条件を満たしていた場合発生します。

例えば

■動作指定:Ev0 / パターン1に変更
■ループ開始
|■キー入力:CSelf10 決定(10)
|■条件分岐(変数): 【1】 CSelf10 が 10 と同じ
|-◇分岐: 【1】 [ CSelf10 が 10 と同じ ]の場合↓
| |■動作指定:Ev0 / パターン2に変更
| |■
|◇分岐終了◇
|■ウェイト:1 フレーム
|■
◇ループここまで◇◇

このコマンドにて「16フレーム後に決定(10)を押す」を2回やったり、「7フレーム後に決定(10)を押し、9フレーム後に決定(10)を押す」を2回やったりすると本来表示されないはずのEv0のパターン3が一瞬表示されます。

このバグが時間依存でイベントの反応が変わるアクションゲーム等を作った場合に異常動作の原因になっているようなので、低コストで修正ができるようでしたら修正していただけると幸いです。