[掲示板へもどる]
一括表示

記事No: 21771 [関連記事]
タイトル戦闘エフェクト強化コモンに逆再生機能をつけたいのですが…
投稿日: 2025/09/23 23:21
投稿者ステルス [rWOrpOrOp282]

モンスター集会所!様の戦闘エフェクト強化コモンに、アニメパターン逆再生機能
(「スプライトシートのみ」の逆再生を行いたい(相手に飛んでいくムーブなどの逆再生は不要) )
を搭載したいと考え、

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: 21772 [関連記事]
タイトルRe: 戦闘エフェクト強化コモンに逆再生機能をつけたいのですが…
投稿日: 2025/09/24 08:29
投稿者としこC [FreiFeL743]

酷なことをいいなさる。


とはいえ、アニメーション部分のみ逆再生なら、
ループに関わる【処理回数】の加算計算を変更せず、最終的な表示フレームを逆転させてしまう方が安全なはず。


【(コモン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[現在パターン]
| |■
|◇分岐終了◇



実行環境を用意していないから正常動作するか分からないけど、考え方は間違っていないはず。


あと、ピクチャ表示のディレイ処理をスタックできる仕様、知らなかったよ。


記事No: 21773 [関連記事]
タイトルRe: 戦闘エフェクト強化コモンに逆再生機能をつけたいのですが…
投稿日: 2025/09/24 22:09
投稿者ステルス [rWOrpOrOp282]

うまくいきました!
ありがとうございます!