概要
ウインドウの指定領域の表示内容をアニメーションで任意にまたは自動で切り替える機能を提供します。
このプラグインは開発者向けで単体では表示上の効果はありません。
以下では基本的な使い方のみ説明しますので、詳細はコードおよびContentsUpdatorを利用したプラグインのコードをご覧下さい。
どういったものに需要があるかなど
プラグイン製作の参考にしたいので,
いいね!と思ったスクリプトにクリックお願いします.
ウインドウの指定領域の表示内容をアニメーションで任意にまたは自動で切り替える機能を提供します。
このプラグインは開発者向けで単体では表示上の効果はありません。
以下では基本的な使い方のみ説明しますので、詳細はコードおよびContentsUpdatorを利用したプラグインのコードをご覧下さい。
以下GithubのBMSP_MVよりClone or DownloadボタンからZIP形式でダウンロードして頂き、中にあるBMSP_ContentsUpdator.jsをツクールMVプロジェクトのjs/pluginsフォルダ内に配置してください。 BMSP_MV/ContentsUpdator
ウインドウ内容の更新領域は以下の様な構造になっています。
Window |- AreaManager |- Area | |- Panel1 | |- Panel2 | | : | |- Paneln |- Area | : |- Area |- Panel1 |- Panel2 | : |- Paneln
更新領域を管理するSpriteです。AreaManagerは複数の更新領域を持つことが出来ます。
ウインドウインスタンスwindowに対してwindow.areaManagerで参照できます。
更新領域のSpriteです。UpdateAreaは順序付きのPanelを複数持つことが出来ます。
UpdateAreaは現在の表示Panelと次(または前)のPanelへの進捗(proress)情報を保持します。
この2つの情報を更新することで複数のPanelの表示をアニメーションさせながら切り替えることが出来ます。
自動更新領域のSpriteです。UpdateAreaに自動で表示内容を切り替えていく機能を加えたクラスです。
更新領域の表示内容のSpriteです。Panel1枚につき表示内容1つを描画し、2枚以上のPanelを更新領域に登録することで表示内容を切り替えます。
アニメーションタイプはBMSP.ContentsUpdator.animationsオブジェクトのプロパティとして定義します。
各アニメーションタイプは進捗が0%の時の現在のPanel単体の表示処理single関数、
進捗が0~100%の時の現在のPanelと次のPanelの表示処理next関数、
進捗が0~-100%の時の現在のPanelと前のPanelの表示処理prev関数が定義されている必要があります。
各種表示処理関数が呼び出される前、すべてのPanelに以下の初期化処理が行われます。
panel.visible = false
panel.opacity = 255
panel.move(0,0)
panel.setFrame(0, 0, area.width, area.height)
各種表示処理では進捗に応じてPanelの表示状態・位置を設定してください。
デフォルトではfade,slideUp,slideDown,slideRight,slideLeftの4つが定義されているので参考にしてください。
(Auto)UpdateAreaのプロパティlazyをtrueにすると、遅延更新モードになります。
遅延更新モードではPanelの登録・削除処理を行ってもすぐに反映されなくなります。
行った変更を表示に反映するにはlazyCommit()関数を呼び出します。
また、AutoUpdateAreaではアニメーションが終了したタイミングでlazyCommit()が自動で呼び出されます。
遅延更新はアニメーション中にPanelの追加削除が発生しアニメーションが途切れたりすることを防止できます。