アニメーションウエイト†
ばぐとら掲示板より転載 by 祝部秀矢さん
サーフェイスの切り替えが発生した際、その時点で発動しているアニメーションが終了するまで
その後の動作を待つようにさせたい。
(\_Vの、再生されたファイルの再生完了を待つ、という機能をアニメーションに適用するような感じ)
仮にこのコマンドを\![honya]とするならば、
\s[0]\i[0]\![honya]\s[5]
となっている場合、\i[0]で指定されている、又はsometimes等で発動しているアニメーションが終了するまで\s[5]以降の動作を待つ、というような形。
コマンドで処理するか、SERIKOのoptionに『このアニメーションが再生完了するまで待機』というのをつけるか。
コマンドで処理する場合は、alwaysのアニメーションを持っているサーフェイスに対する対応が必要?
検討現在の仕様†
- 上記仕様は拡張性に欠ける。
- こんなのはどうだろう?
\__w[animation,200]
--200番待ち。なければ即リターン。
\i[200,wait]
--200番を待ちながら実行。
- 自分自身を最後でstartして、無限ループ状態にする記述も有効。この場合、何をもって終了と扱うのか? or 延々待ちつづける?
- 最後のアニメーション項目を通過した時点で「終了」扱いとしました。
ツッコミ†
- 1.10.24のリリースに合わせて\__wを使用した物に変更しました。ありがとうございました。 -- hafuli
- 多少仕様変更がかかりましたが、上の「検討」のものを1.10.24 Test1で仕込んであります。無論\i[ID,wait]も健在ですが。 -- ぽな@ばぐとら
- 先述の部分は、ゴースト側の対応で何とかしてみます。 現行の仕様でどうしても何とかならなかったら、又改めてお願いしますので、今はこれで充分ですよー。 -- hafuli
- 上に書いた仕様の実現は色々難儀なことがわかりましてorz ……まぁ、なんとかできればします。 -- ぽな@ばぐとら
- 今回実装された仕様だと、他の動作をアニメーション中に行う、例えば、起動時のsurface7000のような、アニメーション動作中に時間差で2つの音声ファイルを再生させるような挙動はできないんですよね。\_wを利用した形だと、この点はクリアできると思うのですが。 -- hafuli
- ありがとうございます。最新アーカイブに反映させてみましたので、お試し下さい。 -- hafuli
- \i[ID,wait]という記述で試験的に待てるようになってたりします。 -- ぽな@ばぐとら
- まぁ、そもそもどないして待機させるかという根本的な実装の問題もまだだったりしますので(汗
ともかく、仕様案などで何か思いついたら気軽にここにお願いしますね。 -- ぽな@ばぐとら
- わかりました。差分はこっちが勝手に先走っただけですので、お気になさらず。 -- hafuli
- いろいろ考えてる途中なんですよね、こっちは。「待つ\iタグを新設」とかいう案も出てますし。 -- ぽな@ばぐとら
- 検証用に、提示されたタグを入れてみた速魚媛用の差分をうちの掲示板に上げておきました。着手される時に使用できるようでしたらどうぞー。改修部分はreadmeに書いてあります。 -- hafuli
- 転載どうもです。 こちらで想定していた動作は後者で確実にできそうです。 -- hafuli