エフェクトのWaitType
投稿日:2017年1月21日 | 最終更新日:2024年5月13日
目次
WaitTypeは、エフェクトの終了待ちをどうするかの設定です。
通常、TweenやShakeなどのエフェクトは、演出の終了が終わるまで次のコマンドを実行できませんが、
WaitTypeを設定することで、演出の終了を待たずに次のコマンドを実行できるようになります。
リファレンス
WaitType | 説明 |
---|---|
未記入 | このコマンドのエフェクトが終わるまで次のコマンドを実行しません |
PageWait | 改ページ時にエフェクトの終了待ちをします |
InputWait | クリック入力後(PageCtrlでInputを使ったときなど)に、エフェクト終了待ちをする |
Add | 次のエフェクト終了待ちと同じタイミングで終了待ちをします。 複数のエフェクトコマンドを組み合わせるのに使ってみてください |
NoWait | エフェクトの終了待ちをせず、即座に次のコマンドを実行します。 ただし、ページをまたぐ演出中にセーブしてしまうと正常にロードできないため セーブをしない使い方をしている場合のみ使ってください |
Skippable | 基本的にはエフェクト終了まで待つが、スキップ可能 |
PageWaitSkippable | スキップ可能なPageWait |
InputWaitSkippable | スキップ可能なInputWait |
AddSkippable | スキップ可能なAdd |
SkippableOnWaitThread | 演出用スレッド内のエフェクトコマンドのみに設定可能。 基本的にはエフェクト終了まで待つが、 メインスレッドでWaitThreadコマンドが使われているときにスキップ可能となる |
SkipOnInput | クリック入力待ち終了時点でエフェクトをスキップ |
SkipOnBrPage | 改ページ時エフェクトをスキップ |
スキップ可能なWaitType(Skippable)
SkippableやPageWaitSkippableなど、スキップ可能なWaitTypeは、そのエフェクトの終了待ちをしているタイミングでクリック入力がされると、そのエフェクトを最終地点の状態までスキップして即座に終わらせます。
スキップされるのはあくまでそのエフェクトのみなので、ほかとタイミングを合わせる必要があるときなどは結果がずれしまう可能性があるので、注意してください。
また、キャラクター表示のArg6で時間設定するフェードインフェードアウトはWaitTypeが設定できませんが、WaitFadeObjectsコマンドを使用し、そこでスキップ可能なWaitTypeを設定することで、オブジェクトのフェードもスキップ可能になります。
SkipOnInputとSkipOnBrPage
SkipOnInputが設定されているエフェクトは、入力後にエフェクトが終了していない場合はスキップして強制終了します。
SkipOnBrPageが設定されているエフェクトは、改ページ後にエフェクトが終了していない場合はスキップして強制終了します。
Skippable系とSkipOn系の違い
Skippable系とSkipOn系の違いは次のようになります。
長い演出をAuto進行時に省略したい場合はSkipOn系を使用してください。
特に無限ループが含まれている場合はSkippable系はAuto進行時に演出待ちが終わらなくなってしまうため、SkipOn系を使用してください。
Skippable系
基本動作:「演出待ち」→「クリックでスキップ」→「もう一度クリックで読み進みまたは改ページ」(つまり二回クリックが必要)
Auto進行中:エフェクトをスキップせず演出終了を待ってからAutoで進行する。
SkipOn系
基本動作:「クリックで読み進みまたは改ページ」→「同時に演出スキップ」(つまり一回クリックで進む)
Auto進行中:Autoで進行し同時にエフェクトをスキップする
ループを含む演出のスキップ
エフェクトスキップはTweenコマンドやPlayAnimationコマンドでループが指定されているものであってもスキップ可能です。
無限ループが設定されている場合は1ループの終わりまでスキップしてからループを止めます。
SkipEffectコマンド
「現在の継続中のWaitTypeが設定可能なコマンド(つまりエフェクト系のコマンド)をすべてスキップして強制終了させる」という場合は、SkipEffectコマンドを使用してください。
WaitTypeをSkippable系を設定していないものであっても、特定のタイミングで一括で処理を終わせい。というときに使用することを想定しています。
例えば、「WaitTypeをNoWaitとしてた継続しているかもしれないエフェクトを確実に終わらせる」といった場合に使用してください。
SkipEffectコマンドのリファレンス
Command | 説明 | Arg1 | Arg2 | Arg3 | Arg4 | Arg5 | Arg6 |
---|---|---|---|---|---|---|---|
SkipEffect | 現在実行中のWaitTypeが設定されている演出系のコマンドをスキップして終了させる | 空欄の場合すべての継続中のエフェクト系コマンド。 「NoWait」とした場合、NoWaitが設定されているコマンドのみをスキップ |
ループエフェクトもスキップするかのTRUE/FALSE 空欄の場合FALSE |