立ち絵表示制御文字 - StandPictureEC.js
シェア用テキスト:
▼立ち絵表示制御文字(やな様作) - StandPictureEC.js
https://plugin.fungamemake.com/archives/2047
立ち絵を表示したり動かしたりするための制御文字を追加します。
ふりがな:たちえひょうじせいぎょもじ
機能概要: 立ち絵を表示したり動かしたりするための制御文字を追加します。
利用規約(ライセンス): MITライセンス
作者:やな
作者サイト:https://x.com/yanatsuki_/
解説ページ:https://www6.atwiki.jp/pokotan/pages/3.html
直接ダウンロード:Zipファイルダウンロードページ:https://raw.githubusercontent.com/munokura/Yana-MV-plug…
ファイル名:StandPictureEC.js
プラグインのヘルプ:
/*: * @plugindesc ver1.05/立ち絵を表示したり動かしたりする制御文字を追加します。 * @author Yana * * @param Show Front * @desc 画像の表示位置Z座標です。 * メッセージウィンドウより前面に表示する場合はtrueを指定してください。 * @default false * * @param Use Preloading * @desc 画像の事前読み込みを行うかの設定です。trueにすると、マップ切り替え時にイベントをチェックし、キャッシュを作成します。 * @default true * @type boolean * * @param Use Delete Cache * @desc マップ切り替え時に使用した画像のキャッシュを削除するかの設定です。trueにするとマップ切り替え毎にキャッシュを削除します。 * @default true * @type boolean * * @param Use Preloading ScriptCommand * @desc Use Preloadingがtrueのとき、イベントコマンドのスクリプトまで走査を行うかの設定です。 * @default false * @type boolean * * @param Default Anchor X * @desc ピクチャのアンカー位置Xです。 * デフォルトは0.5(画像の中心)です。0~1.0で指定してください。 * @default 0.5 * * @param Default Anchor Y * @desc ピクチャのアンカー位置Yです。 * デフォルトは1.0(画像の下端)です。0~1.0で指定してください。 * @default 1.0 * * @param Default Opacity * @desc ピクチャの透明度の初期値です。 * デフォルトは0(非表示)です。0~255で指定してください。 * @default 0 * @type number * * @param Proxy Variable ID * @desc \PVの制御文字がこの数値と置き換わります。 * 同じマクロを使いまわしたり、汎用性を上げるための仕組みです。 * @default 1 * @type number * * @param Cursor Name * @desc スプライト選択時にカーソルとして使用する画像名です。 * img/system/内に指定した画像を配置してください。 * @default cursor * @require 1 * @dir img/system/ * @type file * * * @help------------------------------------------------------ * プラグインコマンド * ------------------------------------------------------ * * ・スプライトをクリックで選択するための状態にする。 * ChoicePicture 変数ID キャンセル許可状態 * * このプラグインコマンドは、必ずメッセージを表示して、制御文字でスプライトを表示した状態で呼び出してください。 * コントローラや十字キーでカーソルを動かすと、専用のカーソルスプライトが表示されます。 * キャンセル許可状態は、ture または false で指定してください。 * falseの場合は省略することもできます。 * また、画像名の項目で空欄を指定することで、カーソルによる選択自体を無効化することができます。 * cursor.pngの画像データはimg/pictures/systemに配置してください。 * * ------------------------------------------------------ * 注意 * ------------------------------------------------------ * * このプラグインが動作するためには、StandPictureSettingP及び、 * StandPictureSettingMのプラグインが必要です。 * 各プラグインは、 * * StandPictureSettingP * StandPictureSettingM * StandPictureEC * * の順番で配置してください。 * * ------------------------------------------------------ * 使い方 * ------------------------------------------------------ * * 用意する画像のファイル名は * ○○○_× * として、img/picturesに用意してください。 * ○○○の部分がStandPictureSettingPで設定したファイル名、 * xの部分は画像インデックスになります。 * このインデックスで瞬きや口パクなどの画像の切り替えを行います。 * 瞬きや口パクを行わない場合はインデックスを付ける必要はありません。 * 例:設定したファイル名がtest0の場合、test0.pngをimg/picturesに用意する。 * 例:ファイル名がtest1で、[0,1,0]と瞬きをする場合、test1_0.pngとtest1_1.pngを用意する。 * * ※ver1.02より、img/pictures以外からも読み込めるようになりました。 * 読み込むフォルダ/ファイル名 と指定することで、pictures以外のフォルダからも読み込めます。 * 例:battleback1/DarkSpace * * ver1.01より、事前ロードの設定とキャッシュ削除の設定が追加されました。 * Use Preloadingをtrueにすると、Game_Mapのsetup実行時にそのマップで使われる可能性のある、 * 全ての画像を抽出し、キャッシュを作成しておきます。 * これにより、ブラウザなどで実行したとき、ロード待ちで画像が表示されないということが少なくなります。 * (場所移動を行った直後にメッセージを表示して、立ち絵を使用すると発生する可能性があります) * Use Delete Cacheをtrueにすると、Game_Mapのsetup実行時に前回のマップで生成した、 * 立ち絵画像のキャッシュをImageManager._cacheから削除します。 * これを行うことで、メモリにかかる負担が減りますが、ブラウザで実行した場合、 * 再生成時に通信が発生するため、通信量が増加します。 * 通信量の上限が決まっている環境で実行される可能性がある場合、falseを推奨します。 * * ------------------------------------------------------ * 追加制御文字 * ------------------------------------------------------ * * ---画像操作系--- * \SP[index,x,y] * StandPictureSettingPで設定したindex番のスプライトをx,yに表示します。 * スプライトのアンカーはx=0.5,y=1.0に設定されているため、 * スプライトの下側中央を基準として設定してください。 * ※ver1.01よりアンカー位置を設定可能になりました。 * indexに-1を指定すると、何も行いません。 * * \HP[index] * StandPictureSettingPで設定したindex番のスプライトを非表示にします。 * * \MP[index,x,y,duration] * index番目のスプライトを画面のx,yの位置にdurationフレームかけて動かします。 * durationを省略した場合、一瞬で移動します。 * また、indexにマイナスを指定すると、-で指定した数値以外のスプライトを動かします。 * durationをマイナスで指定することもできます、この場合、durationは絶対値になります。 * durationをマイナスで指定すると、この動作が完了するまで、次の動作を行いません。 * * \RMP[index,x,y,duration] * index番目のスプライトをx,yの数値分、durationフレームかけて動かします。 * こちらはMPとは違い、相対値でスプライトを移動するための制御文字です。 * durationをマイナスで指定することもできます、この場合、durationは絶対値になります。 * durationをマイナスで指定すると、この動作が完了するまで、次の動作を行いません。 * durationを省略した場合、一瞬で移動します。 * * \TP[index,duration] * index番目のスプライトをdurationフレームかけて反転します。 * durationを省略した場合、瞬時に反転します。 * durationをマイナスで指定することもできます、この場合、durationは絶対値になります。 * durationをマイナスで指定すると、この動作が完了するまで、次の動作を行いません。 * また、indexにマイナスを指定すると、-で指定した数値以外のスプライトを反転します。 * * \OP[index,opacity,duration] * index番目のスプライトの透明度をdurationフレームかけてopacityにします。 * durationを省略した場合、瞬時に透明度が変化します。 * durationをマイナスで指定することもできます、この場合、durationは絶対値になります。 * durationをマイナスで指定すると、この動作が完了するまで、次の動作を行いません。 * また、indexにマイナスを指定すると、-で指定した数値以外のスプライトの透明度を変更します。 * * \AP[index,animationId,mirror] * index番目のスプライトにanimationId番のアニメを表示します。 * mirrorに1を指定すると、アニメが反転します。 * * \CP[index,nIndex,duration] * index番目のスプライトをnIndex番目のスプライトにdurationフレームかけて変更します。 * 変更する際、反転して入れ替わるようなアクションをします。 * durationを省略した場合、瞬時に画像を変更します。 * durationをマイナスで指定することもできます、この場合、durationは絶対値になります。 * durationをマイナスで指定すると、この動作が完了するまで、次の動作を行いません。 * スプライトのIDは最初に決めたものから変わらないため、注意が必要です。 * * \CFP[index,nIndex,duration] * index番目のスプライトをnIndex番目のスプライトにdurationフレームかけて変更します。 * 変更する際、フェードして入れ替わるようなアクションをします。 * durationを省略した場合、瞬時に画像を変更します。 * durationをマイナスで指定することもできます、この場合、durationは絶対値になります。 * durationをマイナスで指定すると、この動作が完了するまで、次の動作を行いません。 * スプライトのIDは最初に決めたものから変わらないため、注意が必要です。 * * \COP[index,red,green,blue,gray,duration] * index番目のスプライトのColorToneをred,green,blue,grayにdurationフレームかけて変更します。 * durationをマイナスで指定することもできます、この場合、durationは絶対値になります。 * durationをマイナスで指定すると、この動作が完了するまで、次の動作を行いません。 * durationを省略した場合、瞬時にColorToneが変更されます。 * また、indexにマイナスを指定すると、-で指定した数値以外のスプライトのColorToneを変更します。 * * \BCP[index,red,green,blue,alpha,duration] * index番目のスプライトのBlendColorをred,green,blue,alphaにdurationフレームかけて変更します。 * durationをマイナスで指定することもできます、この場合、durationは絶対値になります。 * durationをマイナスで指定すると、この動作が完了するまで、次の動作を行いません。 * durationを省略した場合、瞬時にBlendColorが変更されます。 * また、indexにマイナスを指定すると、-で指定した数値以外のスプライトのBlendColorを変更します。 * * \ZP[index,zoomX,zoomY,duration] * index番目のスプライトのScaleをzoomX%,zoomY%にdurationフレームかけて変更します。 * durationをマイナスで指定することもできます、この場合、durationは絶対値になります。 * durationをマイナスで指定すると、この動作が完了するまで、次の動作を行いません。 * durationを省略した場合、瞬時Scaleが変更されます。 * 拡大はanchorを基準として行われます。 * また、indexにマイナスを指定すると、-で指定した数値以外のスプライトを拡縮します。 * * \RZP[index,zoomX,zoomY,duration] * index番目のスプライトのScaleをzoomX%,zoomY%の数値分、durationフレームかけて増加(減少)します。 * durationをマイナスで指定することもできます、この場合、durationは絶対値になります。 * durationをマイナスで指定すると、この動作が完了するまで、次の動作を行いません。 * durationを省略した場合、瞬時Scaleが変更されます。 * 拡大はanchorを基準として行われます。 * また、indexにマイナスを指定すると、-で指定した数値以外のスプライトを拡縮します。 * * \RP[index,angle,duration] * index番目のスプライトのRotationをangle°にdurationフレームかけて変更します。 * rotationの数値は通常ラジアンで設定しますが、ここの数値は角度で設定してください。 * durationをマイナスで指定することもできます、この場合、durationは絶対値になります。 * durationをマイナスで指定すると、この動作が完了するまで、次の動作を行いません。 * durationを省略した場合、瞬時にRotationが変更されます。 * 回転はanchorを基準として行われます。 * また、indexにマイナスを指定すると、-で指定した数値以外のスプライトを回転します。 * * \RRP[index,angle,duration] * index番目のスプライトのRotationをangle°の数値分、durationフレームかけて増加(減少)します。 * rotationの数値は通常ラジアンで設定しますが、ここの数値は角度で設定してください。 * durationをマイナスで指定することもできます、この場合、durationは絶対値になります。 * durationをマイナスで指定すると、この動作が完了するまで、次の動作を行いません。 * durationを省略した場合、瞬時にRotationが変更されます。 * 回転はanchorを基準として行われます。 * また、indexにマイナスを指定すると、-で指定した数値以外のスプライトを回転します。 * * \BP[index,index1,index2,index3…] * index番目のスプライトをマスターとして、index1,index2,index3…をグループ化します。 * また、グループ化を行った際、グループ化されたスプライトのanchorをマスター画像のanchorに同期します。 * これにより、拡大や回転、反転等の動作が正常に行われるようになります。 * * \LS[index] * index番目のスプライトの口パクをスタートします。 * グループ化されている場合、マスター画像に設定すれば、グループ化されたほかの画像も口パク状態になります。 * * \LE[index] * index番目のスプライトの口パクを止めます。 * * \SFR[index] * index番目のスプライトを最前面に移動します。 * * \SBK[index] * index番目のスプライトを最背面に移動します。 * * ---カメラ操作系--- * \MC[x,y,duration] * カメラをx,yの位置にdurationフレームかけて移動します。 * * \RMC[x,y,duration] * カメラをx,yの数値分だけdurationフレームかけて移動します。 * 数値が相対値なこと以外は、\MCと同じです。 * * \RC[angle,duration] * カメラをangle°にdurationフレームかけて回転します。 * * \RRC[angle,duration] * カメラをangleの数値分だけ、durationフレームかけて回転します。 * 数値が相対値なこと以外は\RCと同じです。 * * \RPC[x,y,angle,duration] * カメラのアンカーをx,yに変更したうえで、カメラをangle°にdurationフレームかけて回転します。 * 要するに、x,yを中心としてカメラを回転します。 * * \ZC[zx,zy,duration] * カメラのスケールをzx%,zy%にdurationフレームかけて変更します。 * * \ZPC[x,y,zx,zy,duration] * カメラのアンカーをx,yに変更したうえで、カメラのスケールをzx%,zy%にdurationフレームかけて変更します。 * 要するに、x,yを中心として、スケールを変更します。 * * \SAC[x,y] * カメラのアンカーをx,yに変更します。見た目上は一切変化はありません。 * * ---置き換え、その他系--- * \SM[index] * StandPictureSettingMで設定したindex番のテキストに置き換えられます。 * * \VI[id,num] * ID番の変数の中身にnumの数値を加算した値に変換します。 * * \WT[duration] * durationフレームWaitします。 * * \PV * プラグインの設定で指定した数値に置き換わります。 * マクロを汎用的に使用するための仕組みです。 * * \NNUM[num] * numの数値を―1を掛けた数値に変更します。 * durationのウエイト指定や、indexのそれ以外の指定などに使います。 * * \CALC[formula] * formulaをevalで計算します。 * * \BXW * 画面の横幅(Graphics.boxWidth)に変換されます。 * * \BXH * 画面の縦幅(Graphics.boxHeight)に変換されます。 * * \MWW * メッセージウィンドウの横幅(Message_Window.width)に変換されます。 * * \MWH * メッセージウィンドウの縦幅(Message_Window.height)に変換されます。 * * \MWX * メッセージウィンドウのX座標に変換されます。 * * \MWY * メッセージウィンドウのY座標に変換されます。 * * _N_ * \に変換されます。\\が正常に機能しなかったため、追加しました。 * * ------------------------------------------------------ * 既知の不具合 * ------------------------------------------------------ * * \SPをウエイト無しで連続で呼び出すと、メッセージを高速スキップした際、エラーが発生します。 * 間に\WT[1]等、ウエイトを追加することで、回避することが可能です。 * * ------------------------------------------------------ * 利用規約 * ------------------------------------------------------ * 当プラグインはMITライセンスで公開されています。 * 使用に制限はありません。商用、アダルト、いずれにも使用できます。 * 二次配布も制限はしませんが、サポートは行いません。 * 著作表示は任意です。行わなくても利用できます。 * 要するに、特に規約はありません。 * バグ報告や使用方法等のお問合せはネ実ツクールスレ、または、Twitterにお願いします。 * https://twitter.com/yanatsuki_ * 素材利用は自己責任でお願いします。 * ------------------------------------------------------ * 更新履歴: * ver1.05:180930 * キャッシュ化機能にスクリプトコマンドをはじく設定を追加。 * ver1.043: * バージョン1.3.0に対応。 * ver1.042: * 既に表示している立ち絵番号にもう一度SPをした際、前の立ち絵が消えないバグを修正。 * いくつかのバグっぽい部分を修正。 * YEP_MessageCoreとの併用化処理を追加。 * ver1.04: * カメラを操作する制御文字を追加。 * \MCの制御文字を追加。 * \RMCの制御文字を追加。 * \RCの制御文字を追加。 * \RRCの制御文字を追加。 * \ZCの制御文字を追加。 * \RPCの制御文字を追加。 * \ZPCの制御文字を追加。 * \SACの制御文字を追加。 * 全体的に処理方法をスタックに変更。 * ChoicePictureが回転した画像を正常に判定できなかったバグを修正。 * 画像操作の制御文字で、存在しない画像IDが指定された際エラーが出ないように変更。 * キャッシュ生成時、イベントコマンドのスイッチ操作を使用していたのを直接操作するものに変更。 * ver1.03: * 新しいプラグインコマンド、ChoicePictureを追加。 * 画面サイズがデフォルト以外のとき、表示がずれるバグを修正。 * 設定されていないピクチャを読み込んだ際、コンソールにログを出力し、エラーが発生しないように修正。 * フォルダパスの一部が大文字になっていて特定の環境に出力した際、エラーが発生するバグを修正。 * ピクチャを表示したまま戦闘に突入すると、ピクチャが背景に残ってしまうバグを修正。 * ver1.02: * 呼び出した際の透明度の初期値の設定を追加。 * \PVで変換される数値を設定するための項目を追加。 * \RMPの制御文字を追加。 * \RZPの制御文字を追加。 * \RRPの制御文字を追加。 * \CFPの制御文字を追加。 * \SFRの制御文字を追加。 * \SBKの制御文字を追加。 * \WTの制御文字を追加。 * \PVの制御文字を追加。 * \CALCの制御文字を追加。 * \BXW,\BXH,\MWW,\MWH,\MWX,\MWYの制御文字を追加。 * \NNUMの制御文字を追加。 * \MP,\OP,\TP,\COP,\BCP\RPに機能を追加。 * \MPをduration0で使用時、グループ化されたスプライトが正常に追随しないバグを修正。 * 処理を修正、スプライトの関連付けをメッセージウィンドウからスプライトセットかシーンに変更 * ver1.01: * 事前ロードを行う設定を追加。 * アンカー位置の設定を追加。 * 使用した画像キャッシュを削除する仕組みを追加。 * 画像表示をメッセージウィンドウより手前か、後ろかを設定するための項目を追加。 * \BCPの制御文字を追加。 * \ZPの制御文字を追加。 * \RPの制御文字を追加。 * ver1.00: * 公開 */