【質問フォーム】
【重要!】 質問する前に必ず、過去に同じ質問がないか検索してください!
もし以下のケースで困った場合は、まずリンク先の文書内に答えがないか探してください。
・まずはこの中からお探し下さい → パーフェクトガイド
・バグかな?と思ったときは → よくある質問
・基本システムの設定方法が分からない場合 → 基本システム講座(by 藤田るいふ氏)
・イベントコマンドなどの仕様が分からない場合 → 公式マニュアル
※書き込む前に少なくとも1日2日は、自分で探したり挑戦する努力をしてみてください。
上記のことを全部やってもどうしても分からなかった場合だけ、以下のフォームから質問してください。
酷なことをいいなさる。
とはいえ、アニメーション部分のみ逆再生なら、
ループに関わる【処理回数】の加算計算を変更せず、最終的な表示フレームを逆転させてしまう方が安全なはず。
【(コモン217)┗Xエフェクト単体描画】のアニメ用ループ部分のピクチャ移動コマンド
|■ピクチャ移動:CSelf22[基本ピクチャ番号] X:CSelf62[一時X] Y:CSelf63[一時Y] / 0(CSelf57[一時変数D])フレーム / パターン CSelf73[現在パターン] / 透 同値 / 表示形式:同値 / 角 CSelf41[角度] / 拡 同値 / カラー 同値
のパターン指定【 CSelf73[現在パターン] 】を新しい変数【 CSelf93[現在パターンFix] 】に置き換えて、
直前に逆再生判定用の条件分岐でパターンを指定してみては?
|■条件分岐(変数): 【1】 CSelf45[逆再生かどうか] が 0 と同じ
|-◇分岐: 【1】 [ CSelf45[逆再生かどうか] が 0 と同じ ]の場合↓
| |■変数操作: CSelf93[現在パターンFix] = CSelf73[現在パターン] + 0
| |■
|-◇上記以外
| |■変数操作: CSelf93[現在パターンFix] = Cself10[アニメパターン総数] - CSelf73[現在パターン]
| |■
|◇分岐終了◇
実行環境を用意していないから正常動作するか分からないけど、考え方は間違っていないはず。
あと、ピクチャ表示のディレイ処理をスタックできる仕様、知らなかったよ。
モンスター集会所!様の戦闘エフェクト強化コモンに、アニメパターン逆再生機能
(「スプライトシートのみ」の逆再生を行いたい(相手に飛んでいくムーブなどの逆再生は不要) )
を搭載したいと考え、
1.UDBの┗ アニメーション(強化コモンver)にアニメパターン逆再生フラグの有無を追加
2.逆再生フラグが1の場合に対応した部分を追加
2-1.
■DB読込(ユーザ): CSelf19[カラー補正B] = ユーザDB[ ┗ アニメーション : CSelf0[アニメ番号] : [色]カラー補正B ] (1 : - : 33)
の下に
■DB読込(ユーザ): CSelf45[逆再生かどうか] = ユーザDB[ ┗ アニメーション : CSelf0[アニメ番号] : 逆再生? ] (1 : - : 40)
を追加
2-2.
■DB読込(ユーザ): CSelf79[表示ループ回数] = ユーザDB[ ┗ アニメーション : CSelf0[アニメ番号] : パターン表示 ] (1 : - : 6)
の下に
■条件分岐(変数): 【1】 CSelf45[逆再生かどうか] が 0 と同じ
-◇分岐: 【1】 [ CSelf45[逆再生かどうか] が 0 と同じ ]の場合↓
|■変数操作: CSelf74[処理回数] = -1 + 0
|■
-◇上記以外
|■変数操作: CSelf74[処理回数] = CSelf10[アニメパターン総数] + 1
|■
◇分岐終了◇
を追加
2-3.
■変数操作: CSelf78[ループ] = CSelf15[表示フレーム数] - 1
の下のループに
|■条件分岐(変数): 【1】 CSelf45[逆再生かどうか] が 0 と同じ
|-◇分岐: 【1】 [ CSelf45[逆再生かどうか] が 0 と同じ ]の場合↓
| |■変数操作: CSelf74[処理回数] += 1 + 0
| |■
|-◇上記以外
| |■変数操作: CSelf74[処理回数] -= 1 + 0
| |■
|◇分岐終了◇
を追加してみたのですが…
・逆再生フラグが1でも普通の再生になるが、途中でカクつく(移動しないアニメの場合)
・逆再生フラグが1でもアニメが途中で止まる(移動するアニメの場合)
といった感じで、上手くいきません…
どうすれば逆再生できるようになりますでしょうか…
使用しているウディタのverは2.24です。
アドバイス等を頂ければ幸いです。
アドバイスありがとうございます!
ご指摘の通り、別で作ったコモンが原因でした。
前作で作った複数コモン(必要のないものも含めて)を、ごっそり書き出して今のプロジェクトに読み込んでいたので失念していました。
(前作では、赤くなるけど、それで用を成したので放置していました)
ありがとうございます!おかげ様で解決しました!
新しいウディタで試したら問題なく点滅したので調べたら、別で作成したコモンが原因でした。
そのコモン内でループの中に点滅が入っていて、何度も点滅実行していたようです。最初にご指摘の通りでした!
| 記事No | : 21768 [関連記事] |
| タイトル | : 添付画像 |
| 投稿日 | : 2025/09/23 18:48 |
| 投稿者 | : Masaqq
[reFeepeO402] |
添付出来てなかったので再送
|
横から失礼します。
記載されているコード通りなら、としこC様が仰られているように
私のほうでも異常がないという見解です。
添付画像のようにValWatchで通常変数(予備変数)の動きを
デバッグログウィンドウで見ると何かわかるかもしれません
(記載外の部分にあるマップEvやコモンイベントが予想外の動作をしている等)
他に、問題部分の切り分け調査方法として
・別マップだと問題がないのか
(別マップで問題なければ問題のあるマップ内のイベントの可能性大)
(別マップでも問題が起きるのなら、コモンイベントの可能性大)
・自作のコモンイベント(またはマップイベント)で
並列や自動で怪しいものを一時的にOFFにしてみる
(症状が治まるなら、直前にOFFにしたイベントの可能性大)
などを試してみるのもよいかと。
上記のような自身での調査を行っても、原因不明だったりわからない場合は
ウディタ自体のバグの可能性も高まりますので
再現できる最小限の情報や状況、環境を作って
バグ報告スレにゲームデータを投げることも検討してみてください。
(ゲームデータを直接投げられない理由等がある場合は、
バグ報告スレで運営様にご相談してみてください)
以上になります。
同versionおよび最新版で、イベント内容を実行してみましたが、書かれているような症状は確認できませんでした。
変数V2を条件とした、または他コモンorマップイベントに、エフェクト処理が割り当てられていないか。
あるいは、基本システム込みのウディタを別にダウンロードして、イベント内容を実行した場合でも同じ症状が発生するなら、PCなど実行環境依存の問題の可能性もありえます。
それ以上となると私では力不足です。
症状が起きているゲーム全体を添付すれば、もしかしたら助言できる方がいるかもしれません(添付は500kB上限あり)
アドバイスありがとうございます!
点滅A、点滅B両方ですね。
デバッグ文も入れていますが、何度も実行されてるわけでは無さそうです。
以下、イベント内容を載せます。
>イベント1
■文章選択肢:/ 【1】主人公点滅A / 【2】主人公点滅B
-◇選択肢:【1】 主人公点滅A の場合↓
|■キャラエフェクト:主人公[点滅A(明滅)] R70/G70/B70 [5]フレーム
|■デバッグ文:点滅A
|■変数操作: V2-0[点滅状態] = 0 + 1
|■
-◇選択肢:【2】 主人公点滅B の場合↓
|■キャラエフェクト:主人公[点滅B(自動フラッシュ)] R70/G70/B70 [5]フレーム
|■デバッグ文:点滅B
|■変数操作: V2-0[点滅状態] = 0 + 1
|■
-◇キャンセルの場合
|■
◇分岐終了◇
>イベント2(並列実行 条件:V2-0[点滅状態]が1 )
■変数操作: このEvのSelf9 = 0 + 5
■ループ開始
|■ウェイト:60 フレーム
|■変数操作: このEvのSelf9 -= 0 + 1
|■条件分岐(数値): 【1】 このEvのSelf9 が 0 と同じ
|-◇分岐: 【1】 [ このEvのSelf9 が 0 と同じ ]の場合↓
| |■ループ中断
| |■
|◇分岐終了◇
|■
◇ループここまで◇◇
■キャラエフェクト:主人公[点滅A(明滅)] R0/G0/B0 [0]フレーム
■キャラエフェクト:主人公[点滅B(自動フラッシュ)] R0/G0/B0 [0]フレーム
■デバッグ文:点滅終了
■変数操作: V2-0[点滅状態] = 0 + 0
とりえあず、【キャラエフェクトの点滅A(明滅)】を使っているのかな?
常に赤い状態(赤+100)になるなら、キャラエフェクトのコマンドを毎フレーム実行している気がする。
タイマー開始時の一度のみエフェクトコマンドを実行すれば、正常に明滅するよ