キャラクターの向き固定時も向き変更を有効に【RPGツクールMZ&MVプラグイン】

2021年05月08日

 向き固定状態のキャラクターに対しても、向きの変更命令を有効にします。


 ツクールMV〜MZでは、向き固定状態のキャラクターに対して、移動ルートの設定から向き変更を指示しても無視される仕様です。
 しかしながら、この仕様はあまり合理的ではありません。
 そもそも、向きを変更する意図がないなら指示などしないからです。

 いちいち、向き固定を解除する方法もありますが、手間がかかる上にミスもしやすく、やはり合理的ではありません。

 というわけで、ツクール2000などと同じように、命令時のみ向き変更を受けつけるように仕様を変更します。

 該当の処理は以下の通りです。

  • 移動ルートの設定の向き変更
  • 自律移動がカスタムの際の向き変更
  • イベントの位置設定時の向き変更


目次


導入方法(Install)

更新履歴(History)

使用方法(Usage)


導入方法(install)


 以下のファイルをダウンロードし 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※いずれのプラグインもMV、MZの両方で有効です。

 NRP_CharacterDirectionPriority.js ver1.00(2021/05/08)

更新履歴(History)


2021/05/08(ver1.00)

  • 公開!

使用方法(Usage)


 プラグインを適用するだけでOKです。
 パラメータなどはありません。

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 11:06 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする

DynamicMotionをマップ上で起動【RPGツクールMZ&MVプラグイン】

2021年05月07日

 DynamicMotionをマップ上から起動します。
 回転や拡大、自在な移動など通常では困難な動作をキャラクターにさせられます。

 (2021/05/07)※イベント全体の動作が重くなる重大な不具合を修正しました! お手数ですがご利用の方は更新をお願いします。


 このプラグインの動作には、以下のプラグインが必要です。
 ※このプラグイン自体はMVとMZの両方で有効です。

MZ版


MV版


 登録すれば、マップ上でのDynamicMotionが有効となります。
 起動はNRP_DynamicAnimationMapのプラグインコマンドから行います。

目次


導入方法(install)

更新履歴(history)

サンプル(sample)

DynamicMotion:追加テンプレ―ト(Map Template)

戦闘中(ifBattle)

マップ中(ifMap)

遠隔(ifDistant) ver1.04

隣接(ifAdjacent) ver1.04


DynamicMotion:マップ用の変更テンプレ―ト(Mod Map Template)

接近(near)

背後(back)

前進(stepForward)

後退(stepBack)

帰還(return)

ホーム(home)


DynamicMotion:マップ用の追加テンプレ―ト(Add Map Template)

対象を向く(turnToward)

反対を向く(turnAway)

モーションクリア(clear) ver1.04


DynamicMotion:マップ用の追加パラメータ(Map Parameter)

グリッド終点X座標(gridEx)

グリッド終点Y座標(gridEy)

向き(direction)

パターン(pattern)

画像(image)

画像インデックス(imageIndex)


プラグインパラメータ(Plugin Parameter)

重複実行禁止(NoMultipleMotion)

移動先座標の四捨五入(RoundCoordinate)

移動時の足踏み(StepOnMove)

プレイヤーのスクロール連動(PlayerOnScroll)


プラグインパラメータ(接近時)(Plugin Parameter Near)

対象の大きさを考慮(ConsiderSize)

接近時の座標の丸め方(RoundTypeNear)


戦闘時との挙動の差異

テンプレートの挙動

a, bの参照先(上級者向け)


導入方法(install)


 以下のファイルをダウンロードし 、[プロジェクト]\js\plugins に放り込みます。ツクールのプラグイン管理から機能をONにしてください。
 ※このプラグインはMV、MZの両方で有効です。

 NRP_DynamicMotionMap.js ver1.06(2021/05/07)

 さらに以下のプラグインを最新に更新してください。
 ※バージョンに食い違いがあると動作しない可能性があります。

MZ版

 NRP_DynamicAnimationMZ.js ver1.16(2021/04/24)
 NRP_DynamicMotionMZ.js ver1.12(2021/04/24)
 NRP_DynamicAnimationMapMZ.js ver1.09(2021/04/24)

MV版

 NRP_DynamicAnimation.js ver1.24(2021/04/24)
 NRP_DynamicMotion.js ver1.18(2021/04/24)
 NRP_DynamicAnimationMap.js ver1.09(2021/04/24)

 ※上記3つのプラグインよりも、必ず下に配置してください。

更新履歴(history)


2021/05/07(ver1.06)

  • イベント全体の動作が重くなる重大な不具合を修正。

2021/04/24(ver1.05)

  • 並列処理からマップ版DynamicAnimationMZを起動した場合、セーブデータの作成に失敗することがある重大な不具合を修正。
    ※各関連プラグインも最新に更新してください。

2020/11/08 -> 11/10(ver1.04)

  • 『ifAdjacent』『ifDistant』テンプレートの追加に伴い機能改修。
  • 他、マップ版テンプレート用にソースを調整。
  • 『a』の参照先が常にスキルの使用者になっていた不具合を修正。(11/10)
    ※修正はNRP_DynamicMotion側なので、そちらを更新してください。

    ※テンプレートの変更はDynamicMotion.jsを再登録しないと反映されません。
    ただし、再登録すると全ての設定変更が初期化されてしまいます。
    それを避けたい場合、テンプレート定義一覧(MZMV)からのコピペをオススメします。


2020/11/05(ver1.03)

  • 外部プラグインとの連携用に調整。
  • ウェイトの数値指定がない場合、アニメーションの終了までウェイトされない不具合修正。
  • 衝突(crash)のテンプレートを追加。
    ※外部プラグインとの連携用の変更であるため、動作に大差はありません。

2020/10/18 -> 11/01(ver1.02 -> 1.023)

  • プレイヤーキャラを動作させた場合、スクロールを連動させるようにした。
  • それに伴い『プレイヤーのスクロール連動』のプラグインパラメータを追加。
  • DynamicAnimationMapで戦闘からプラグインコマンドを実行した場合、エラーになる不具合修正。(ver1.021)
    ※NRP_DynamicAnimationMap側も1.06に更新してください!
  • 設定に反してジャンプ時に足踏みしてしまう不具合修正。(10/20 ver1.022)
  • MVの移動処理でスクロールが考慮されていない不具合修正。(10/20)
    ※修正はDynamicMotion側(ver1.132)なので、そちらを更新してください。
  • モーション実行時の切れ目をなくすため微調整。(11/01 ver1.023)

2020/10/17(ver1.01)


2020/10/15(ver1.00)

  • 公開!

サンプル(sample)



 マップ用に特化したサンプルを用意しましたので、参考にどうぞ。



DynamicMotion:追加テンプレ―ト(Add Template)


 スキルに設定できるテンプレートです。既存のテンプレートについては、DynamicMotionのページをご覧ください。
 以下は共通のテンプレート一覧に登録されているのですが、マップ用を想定しているためここでも紹介します。

戦闘中(ifBattle)

マップ中(ifMap)

 戦闘画面およびマップ画面、それぞれでのみ動作する処理を作成できます。
<D-Motion:ifBattle&near/>
<D-Motion:ifMap&back/>

 上記の例ならば戦闘画面ではnear、マップ画面ではbackが実行されるスキルとなります。

遠隔(ifDistant)ver1.04


 マップ上にて、モーションの実行者と対象者が隣接していない場合のみ実行します。
<D-Motion:turnToward&soon/>
<D-Motion:near&ifDistant/>
<D-Animation:wait/>
<D-Motion:return&ifDistant/>


 例えば、上記では対象と離れたマスにいる場合のみ、接近&帰還処理を行います。対象と隣接している場合は、即座にアニメーションを表示します。このように無駄な移動演出をさせたくない場合に有効です。
 また、戦闘時には常に有効となります。

 それから、上記の場合はアニメーションにwaitの指定を行う必要があることに注意してください。<D-Motion:return&ifDistant/>の省略によって、前の動作を待つこともなくなってしまうためです。

隣接(ifAdjacent) ver1.04


 マップ上にて、モーションの実行者と対象者が隣接している場合のみ実行します。
 つまり『遠隔(ifDistant)』とは正反対に動作をします。
 また、戦闘時には常に無効となります。

DynamicMotion:マップ用の変更テンプレ―ト(Mod Map Template)


 マップ用テンプレート一覧に登録されたテンプレートです。戦闘用にも同名同IDのテンプレートがありますが、マップ用の設定が優先されます。テンプレートを変更する場合は、間違えないように注意してください。

接近(near)

 対象の隣へ移動します。正確には、対象の上下左右四座標の中で行動主体に最も近い座標へと移動します。

衝突(crash)

 対象と同じ座標へ移動します。

背後(back)

 対象の背後へ移動します。正確には、対象の上下左右四座標の中で行動主体に最も遠い座標へと移動します。

前進(stepForward)

 行動主体の向いている方向へ一歩前進します。

後退(stepBack)

 行動主体の向いている反対方向へ一歩後退します。

帰還(return)

 プラグインコマンドを実行した際、行動主体が元いた位置へとジャンプして戻ります。
 なお、位置に変化がない場合はジャンプを省略します。

ホーム(home)

 プラグインコマンドを実行した際、行動主体が元いた位置へと戻ります。
 帰還(return)との違いはジャンプの有無と所要時間の差ぐらいです。

DynamicMotion:マップ用の追加テンプレ―ト(Add Map Template)


 マップ用テンプレート一覧に登録された新規のテンプレートです。マップ上でのみ使用できます。

対象を向く(turnToward)

 行動主体が対象の方向を向きます。
 stepForwardと同時に組み合わせても、前進してから遅れて方向転換するので注意です。
<D-Motion:turnToward&soon/>
<D-Motion:stepForward/>

 例えば、上記のようにすれば対象を向いてから前進してくれます。

反対を向く(turnAway)

 行動主体が対象の反対方向を向きます。

モーションクリア(clear)ver1.04

 マップ上でのモーションをクリアします。
 特定のプラグインとの組み合わせでのみ効果を発揮します。(後日解説予定)

DynamicMotion:マップ用の追加パラメータ(Map Parameter)


 マップ上からDynamicMotionを起動した際、新たに以下のパラメータが有効となります。

グリッド終点X座標(gridEx)

グリッド終点Y座標(gridEy)

 終点(移動先)のX座標、Y座標です。ex, eyとは異なり、こちらはグリッド単位の座標になります。

 例えば、座標(x=10, y=5)に移動したい場合は以下のように記述します。
<D-Motion>
gridEx = 10
gridEy = 15
</D-Motion>

 また、gridSx, gridSyで始点を参照可能です。
<D-Motion>
gridEx = gridSx + 1
gridEy = gridSy + 1
</D-Motion>

 上記のように記述すると、現在座標から一つ右下へとキャラが移動します。

 さらに、省略形としてgx, gyが有効です。
<D-Motion>
gx = a.gx + 1
gy = a.gy + 1
</D-Motion>

 『a.gx』『b.gy』というように行動主体や対象の現在グリッド座標を参照することも可能です。こちらのほうが簡潔に書けるのでオススメかもしれません。

向き(direction)

 キャラクターの向きを指定します。
 『2:下』『4:左』『6:右』『8:上』となります。
 数値の他、"up", "down", "left", "right"の文字列でも指定可能です。

パターン(pattern)

 キャラクターのパターン(足踏み)を指定します。
 『0:左』『1:中央』『2:右』となります。

画像(image)

 キャラクターの画像を指定ファイル(拡張子不要)へ変更します。
 画面切替で元に戻ります。

 ちなみに、戦闘中に使用してもバトラー画像を変更できます。
 元々、戦闘用にbattlerImageという項目があったのですが、imageに統合しました。マップ上ではキャラクター、戦闘中はバトラーを自動で対象とします。

画像インデックス(imageIndex)

 キャラクター画像のインデックス(0-7)を変更します。
 画面切替で元に戻ります。
<D-Motion>
image = "Actor2"
imageIndex = 5
</D-Motion>

 というようにimageとimageIndexを組み合わせてキャラクター画像を変更できます。片方だけ指定することも可能です。

プラグインパラメータ(Plugin Parameter)


重複実行禁止(NoMultipleMotion)

 イベントに対するDynamicMotionの重複実行を禁止します。
 これにより想定外の挙動を防止します。

移動先座標の四捨五入(RoundCoordinate)

 イベントの移動先のグリッド座標が小数だった場合、四捨五入します。
 ※グリッド座標はピクセル単位では48の倍数(標準)に相当します。

 小数座標への静止はツクール側で想定していないらしく、操作を受け付けなくなるなどの不具合を生じます。それを回避するための措置です。
 複数回の移動を組み合わせた場合、最終的な移動先に対して調整を行います。途中の動作については、小数座標に留まることも可能です。

 半歩移動などのプラグインと組み合わせる場合を想定して、オフにできるようにしています。その場合も上記の問題にご注意ください。

移動時の足踏み(StepOnMove)

 移動時の足踏み方法を指定します。
 初期状態ではジャンプ以外の移動時は、足踏みをするようになっています。

 パターン(pattern)を指定した場合はそちらが優先されます。

プレイヤーのスクロール連動(PlayerOnScroll)

 プレイヤーを動作させた場合、スクロールを連動させます。
 オフの場合はデフォルトの処理をそのまま用います。

プラグインパラメータ(接近時)(Plugin Parameter Near)


 接近時の挙動を調整します。
 主にnear(back)テンプレートに関係します。

対象の大きさを考慮(ConsiderSize)

 接近時、対象の大きさを考慮します。
 オフの場合は対象の大きさを1グリッドと見なします。

接近時の座標の丸め方(RoundTypeNear)

 接近時のグリッド座標の丸め方です。
 10.5のような座標に移動した際、処理に統一感を出します。

 基本的には『移動先座標の四捨五入』と『対象の大きさを考慮』をオンにした場合の調整に使います。
 この項目がオフの場合、サイズ(ビッグモンスターなど)の大きな対象へ接近する際、方向によって不揃いなグリッドに移動してしまう場合があります。これは移動先の座標が四捨五入されてしまうためです。
 それらの違和感をなくすための措置がこの項目です。

戦闘時との挙動の差異


 仕様上、戦闘時とは挙動が色々と異なるため、その点をまとめました。

テンプレートの挙動

 マップ上では一部のテンプレートの挙動が異なるのは前述のとおりです。
 その他にも、当然ながら武器を振るなどのモーション系は軒並み効果がありません。キャラチップによるモーションを作りたい場合は、別途画像を用意して実装する必要があります。

a, bの参照先(上級者向け)

 戦闘中はa.hp, b.atkというように、a=行動主体, b=対象としてGame_Battlerの情報にアクセスできました。(少なくとも現在のバージョンの標準では)
 ……が、マップ版では挙動が異なり、参照先はGame_Characterではありません。a, bはSprite_Characterとなっています。
 ※理由:Game_Characterの座標情報(x, y)はグリッド座標基準であるため。戦闘中との仕様差異が大きくなるため。

 もし、Game_Characterにアクセスしたい場合は『a._character』『b._character』で参照できます。基本的にマップ上ではSprite_CharacterよりもGame_Characterを中心として制御しているらしく、こちらのほうが有用な情報&関数を多く保有している傾向があります。

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 12:52 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする

編集した画像を自動的に拡大するプログラム【RPGツクールMZ&MV】

2021年05月06日

 現代のツクールでツクール2000のドット絵を使おう!から続きます。

 更新された画像を検出し、拡大とコピーを同時に行うプログラムです。


 ツクール2000(あるいはSFC)と同等の解像度のドット絵を編集すれば、自動的に拡大してツクールMZやMVのプロジェクトへと反映します。これにより手動での拡大&縮小を行う手間を省きます。
 (ツクールXP〜VXAceでも設定を変えれば使えます。)

目次


注意!(caution!)

履歴(history)

導入(install)

元画像用のフォルダを作成(original folder)

設定ファイルの編集(setting)

元画像の配置(original image)

実行(execute)

スケジュール登録(schedule)

同期を秒単位に(extension) 2021/05/06追記


注意!(caution!)


 ファイルの上書きを行うプログラムであるため、誤って上書きするなどの事故に注意してください。念のため、先にプロジェクトのバックアップを取ることを推奨します。
 くれぐれも自己責任でよろしくお願いします。


 Macなど非Windows環境で動くかどうかは不明です。OSに強く依存したプログラムではありませんが、あまり自信はないです。

更新履歴(history)


2021/05/06


2020/11/01(ver1.00)

  • 公開!


導入(install)


 以下のzipファイルをダウンロードして解凍し、任意の場所に配置してください。
 https://newrpg.up.seesaa.net/mv/NRP_ImageScaleSync.zip

 その後、以下の使用法を参考に設定と実行を行ってください。

元画像用のフォルダを作成


 元画像を配置するフォルダを作成します。以降、素材を編集する際はこのフォルダ内のファイルに対して行うようにします。

 解凍したフォルダに含まれている『original』フォルダをどこかにコピーするのが手っ取り早いです。ゲームプロジェクトの中でも外でも好きな場所に配置してください。

 中身は単なる空のフォルダ群ですが、『@CHARACTERS』『@TILESETS』というように、ツクールMZやMVで使用されているフォルダに対応した名前になっています。
 ※フォルダ名は自分で決めても構いません。ただし、事故防止のため分かりやすいものにしたほうが安全です。

設定ファイルの編集(setting)


 解凍したフォルダにある『setting.xml』が設定ファイルです。テキストエディタで開いて編集してください。
 中身は以下のようになっています。(見やすいように編集しています。)

<?xml version="1.0" encoding="utf-8"?>
<setting>
<!-- 前回更新日時(※この後に更新された画像を対象とします。) -->
<lastTime>2020/10/31 00:00:00</lastTime>

<!-- パス用の文字列を定義します。 -->
<!-- <FROM_DIR>の値は%FROM_DIR%, <TO_DIR>の値は%TO_DIR%というように参照できます。 -->

<define>
<FROM_DIR>C:\Project\img\original</FROM_DIR>
<TO_DIR>C:\Project\img</TO_DIR>
</define>

<!-- コピー後の画像倍率 -->
<scale>3</scale>

<!-- from -> toへコピー -->
<path>
<from>%FROM_DIR%\@BATTLEBACS1</from>
<to>%TO_DIR%\battlebacks1</to>
</path>

<path>
<from>%FROM_DIR%\@BATTLEBACS2</from>
<to>%TO_DIR%\battlebacks2</to>
</path>

 〜中略〜

<!-- MV Only (必要なら注釈を外してください) -->
<!--
<path>
<from>%FROM_DIR%\@ANIMATIONS</from>
<to>%TO_DIR%\animations</to>
<scale>2</scale>
</path>
-->


</setting>

 以下、解説していきます。

<lastTime>2020/10/31 00:00:00</lastTime>

 最後にプログラムを実行した時刻です。
 プログラムの実行が成功する度、自動的に値が書き換えられます。
 この時刻と画像ファイルの更新時刻を比較することで、新たに更新された画像だけを抽出しています。

 手動で古い時刻を設定すれば、強制的に画像を処理対象とすることもできます。

<FROM_DIR>C:\Project\img\original</FROM_DIR>

 画像のコピー元となる大元のフォルダのパスです。
 %FROM_DIR%と入力すれば、設定値を参照できます。

 先程配置したフォルダのパスを指定してください。

<TO_DIR>C:\Project\img</TO_DIR>

 画像のコピー先となる大元のフォルダのパスです。
 %TO_DIR%と入力すれば、設定値を参照できます。

 対象となるゲームプロジェクトのimgフォルダを指定してください。

<scale>3</scale>

 画像を拡大する倍率です。通常は元のまま3倍にしておけばOKです。
 コピーするフォルダによって、個別に倍率を指定(後述)することもできます。

<path></path>

 実際にコピーを行う各フォルダのパスを指定します。

<path>
<from>%FROM_DIR%\@BATTLEBACS1</from>
<to>%TO_DIR%\battlebacks1</to>
</path>

 同じようにして『battlebacks1』『battlebacks2』『characters』『enemies』『faces』『parallaxes』『pictures』『sv_actors』『sv_enemies』『system』『tilesets』『titles1』『titles2』の各フォルダのパスが最初から定義されています。

『%FROM_DIR%』『%TO_DIR%』の値は上で説明した通りです。あちらの設定さえ行えば、こちらの変更はほぼ不要です。
 ちなみに『%FROM_DIR%』『%TO_DIR%』を使わず普通に絶対パスを指定しても構いません。

 ただし『animations』だけは例外なので注意してください。MZだと初期状態では存在しないフォルダのため、注釈化しています。
 必要ならば<!---->を消して注釈を解除してください。
 ※なお、存在しないフォルダを指定するとエラーログを出力する仕様です。


<!--
<path>
<from>%FROM_DIR%\@ANIMATIONS</from>
<to>%TO_DIR%\animations</to>
<scale>2</scale>
</path>
-->


 また、ここでは<scale>2</scale>というように個別の倍率を指定しています。アニメーションのみ素材規格の比率が異なるためです。

 以上で設定ファイルの編集は終わりです。

元画像の配置


 元画像用のフォルダに、原寸大の画像ファイルを配置してください。

 背景色の指定がない256色画像の場合、パレットの左上の色を透明な背景色として使用します。

注意!

 背景色と同色(RGB値が完全一致)を他の箇所に使っている場合、意図しない部分が透明となる可能性があります。
 例えば、『背景が黒』『目の色も黒』という画像を処理した場合、変換後の画像が目の色まで透明になってしまいます。
 対処するには「RGB値を1つずらす」「背景色をあらかじめ指定する」といった方法があります。


 なお、実行対象となるのは<lastTime>で設定した時刻よりも、後に更新されたファイルだけです。必要ならばタイムスタンプを編集するか、<lastTime>の時刻を変更してください。

 参考:タイムスタンプを変更できるフリーソフト。
 https://dns-plus.net/ctime.html

 ※あまり多くのファイルをまとめて処理すると時間がかかるので、少しずつ対象を増やしていくことをオススメします。

実行(execute)


 ようやくプログラムを実行します。
 解凍したフォルダにある『ImageScaleSync.exe』を実行してください。

 ※注意!:実行する前に『setting.xml』を閉じてください。編集中のままだと実行に失敗する仕様です。

 実行状況は表示されませんが、コピー先のファイルが更新されていくので、そちらを確認してください。
 ※ファイルの大きさにもよりますが、1ファイル1秒程度の時間がかかります。

 また処理が完了した場合は、実行ファイルと同じフォルダにログが出力されます。
 成功の場合は『result.log』、エラーの場合は『error.log』が出力されますので確認してください。

 一度実行してしまえば、以降は更新された差分だけがコピーされるようになります。

 ツクール上からも確認して、素材が想定通りに反映されていることを確認してください。

スケジュール登録(schedule)


 さて、exeを実行することによって画像が拡大&反映されるようになりました。
 ……が、現状では画像を更新する度にいちいち手動でexeを実行する必要があります。

 そこで実行ファイルをスケジュール登録することで、定期的に更新を監視してコピーを行うようにします。
 Windowsのタスクスケジューラで指定してもよいし、同等の機能を持ったフリーソフトを使っても構いません。

 ここでは以下のフリーソフトを使って手順を説明します。

 Multi Function Alarm
 https://forest.watch.impress.co.jp/library/software/mltfncalarm/

 1.ダウンロード&解凍して、適当なフォルダに配置します。

 2.『MFA.exe』を実行します。

 3.サンプルのメッセージが色々出ますので適当にOKしていきます。

 4.最後の「スタートアップにMFA.exeのショートカット作成しますか?」のメッセージも「はい」にしてください。
 これにより、PC起動時にソフトが起動するようになります。

 5.色々設定がありますが、全選択&削除でOKです。



 6.さらに追加を押して、以下のように設定します。
 『入力・修正』から『ImageScaleSync.exe』のパスを設定してください。


 ご覧の通り、1分毎にexeを実行する設定にしてみました。つまり更新した素材の反映には最長1分かかります。このソフトではこれ以上短くはできません。
 もし必要なら『ImageScaleSync.exe』を直接叩けば即時反映されます。
 ※実用上そこまで困ることもないと思うのですが、秒単位で監視したいならタスクスケジューラや他のソフトを使えばよいかもしれません。

 6.OK→OKで閉じます。
 以後、このソフトは右下のタスクトレイに格納されます。タスクスケジューラに設定した場合と違って、存在を忘れにくいので安心ですね。
 もし、不要になった場合はスタートアップからショートカットを削除するなりしてください。
 ※ちなみに、スタートアップはエクスプローラーで『shell:startup』のアドレスを叩けば開けます。

 これにて設定完了です。
 あとは実際に画像素材を編集してみて、1分ほどでプロジェクトに反映されるかを確認してみてください。

 以上、お疲れさまでした!
 拡大・縮小の手間がいらない快適なドット絵ライフをお楽しみください。

同期を秒単位に(extension) 2021/05/06追記


 さらなる改良を行い、画像の反映を10秒毎に行うようにしてみました。
 負荷軽減のため、RPGツクールMZが起動中の場合のみ同期処理を実行するようにしています。

 以下のvbsファイルを保存し、『ImageScaleSync.exe』と同じフォルダに配置してください。
 exeではなく、vbsのほうをスケジュール登録すればOKです。

 ImageScaleSync.vbs

 中身は以下の通りです。
 ツクールMVの場合は、赤字部分を『RPGMV.exe』に変更してください。

'監視するプロセス名
'MVの場合はRPGMV.exeに変更すればOK。
Dim processName
processName = "RPGMZ.exe"

Dim exeName
exeName = "ImageScaleSync.exe"

Dim Service,QfeSet
Set Service = CreateObject("WbemScripting.SWbemLocator").ConnectServer
Set QfeSet = Service.ExecQuery("Select * From Win32_Process Where Caption='" & processName & "'")

'プロセスが存在するなら処理実行
If QfeSet.Count > 0 Then
Set objWShell = CreateObject("Wscript.Shell")

'処理実行
objWShell.run exeName, vbHide

'10000ミリ秒(10秒)待って再度処理実行
'以降、繰り返し
WScript.Sleep 10000
objWShell.run exeName, vbHide

WScript.Sleep 10000
objWShell.run exeName, vbHide

WScript.Sleep 10000
objWShell.run exeName, vbHide

WScript.Sleep 10000
objWShell.run exeName, vbHide

WScript.Sleep 10000
objWShell.run exeName, vbHide
End If

 ごく単純に「処理実行→10秒待つ→処理実行」を6回繰り返しているだけです。
 このvbs自体は1分毎に実行されるので、合わせて10秒毎にプログラムが実行されます。 

 例えば、5秒毎にしたい場合は「WScript.Sleep 10000」の値を『5000』に変更して処理を12回実行するようにすればOKです。

 >RPGツクールMZ&MV目次に戻る
posted by 砂川赳 at 10:26 | RPGツクールMZ&MV | このブログの読者になる | 更新情報をチェックする